Как использовать конструкторы базового класса и оператор присваивания в C ++?

У меня есть класс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переменные закрытого члена.

Ответы на вопрос(5)

Ваш ответ на вопрос