我通常使用纯虚函数来实现那些代码需要的方法。因此,我创建接口,然后其他用户实现它们的派生类。派生类只将这些虚函数作为公共函数,而一些额外的方法应该被实现为私有函数,因为我的代码不会调用它们。
我不知道这是否可以视为良好的面向对象编程实践(是否有设计模式?)。
无论如何,我的问题是:
用户能否重载纯虚函数?
即:
一个解决方案可以是:
即:
class Base
{
public:
Base();
virtual ~Base();
virtual void foo(int,double)=0;
};
class Derived:
public Base
{
private:
// methods
public:
Derived();
virtual ~Derived();
virtual void foo(int, double, double); //this doesn't work
};
一个解决方案可以是:
virtual void foo(int,double,double=0)=0;
基类中提供了一些功能,但是非常有限。你认为呢?
class Derived : Base
? - nonsensickle