我有一个类 B
,它包含一组构造函数和一个赋值运算符。
这就是:
class B
{
public:
B();
B(const string& s);
B(const B& b) { (*this) = b; }
B& operator=(const B & b);
private:
virtual void foo();
// and other private member variables and functions
};
我想创建一个继承类 D
,它只覆盖函数 foo()
,不需要做任何其他更改。
但是,我希望 D
具有与 B
相同的构造函数集,包括复制建构子和赋值运算符:
D(const D& d) { (*this) = d; }
D& operator=(const D& d);
我必须在 D
中重写它们吗? 还是有办法使用 B
的构造函数和运算符?我尤其希望避免重写赋值运算符,因为它必须访问所有 B
的私有成员变量。