TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码
搜索到 2 篇与 的结果
2025-09-04

C++策略模式深度解析:函数对象与虚函数实现差异

C++策略模式深度解析:函数对象与虚函数实现差异
在软件设计领域,策略模式作为行为型设计模式的代表,其核心思想是将算法族抽象为独立对象,使得它们可以相互替换。这种模式在C++中主要有两种实现路径:基于虚函数的传统实现和基于函数对象的现代实现。这两种实现背后反映的是C++语言特性与设计哲学的演变。一、虚函数实现:面向对象的经典解法cpp class SortingStrategy { public: virtual ~SortingStrategy() = default; virtual void sort(vector& data) const = 0; };class QuickSort : public SortingStrategy { public: void sort(vector& data) const override { cout << "Using quicksort algorithm" << endl; // 快速排序实现 } };class Context { uniqueptr strat...
2025年09月04日
23 阅读
0 评论
2025-08-06

泛型类中内部类的参数方法无法被覆盖问题深度解析

泛型类中内部类的参数方法无法被覆盖问题深度解析
一、现象还原:当覆盖遇到泛型内部类在实际编码中,我们可能遇到这样的场景:java class Outer { class Inner { void process(T param) { // 泛型参数方法 System.out.println("Outer.Inner.process"); } } }class SubOuter extends Outer { class SubInner extends Outer.Inner { @Override void process(String param) { // 尝试覆盖父类方法 System.out.println("SubOuter.SubInner.process"); } } }编译时会出现Method does not override method from its superclass错误。这个看似简单的继承关系,为何会出现方法覆盖失败?二、问题本质:类型...
2025年08月06日
33 阅读
0 评论