我知道我为什么要使用私有虚函数,但我该如何实现它们呢?
例如:
class Base{
[...]
private:
virtual void func() = 0;
[...]
};
class Derived1: public Base{
void func()
{ //short implementation is ok here
}
};
class Derived2: public Base{
void func(); //long implementation elsewhere (in cpp file)
};
[...]
void Derived2::func()
{ //long implementation
}
第一个版本还可以,但并非总是可行。第二个版本不就是隐藏名字吗?如果你不能在 的类声明中定义 ,你如何Base::func()
定义?Derived2
Dereived2
谢谢