我通常使用纯虚函数来处理我的代码所需的那些方法.因此,我创建接口,然后其他用户实现其派生类.派生类只将这些虚函数作为公共函数,而一些其他方法应该作为私有实现,因为我的代码不会调用它们.我不知道这是否可以被认为是OOP的一个好习惯(有没有设计模式?).无论如何,我的问题是:用户可以重载纯虚函数吗?
即
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
};
Run Code Online (Sandbox Code Playgroud)
解决方案可能是:
virtual void foo(int,double,double=0)=0;
Run Code Online (Sandbox Code Playgroud)
在基类但它是非常有限的.你有什么想法?