У меня есть базовый класс:
class Base {
protected:
int m_a;
virtual void foo() = 0;
}
И производный класс (ы)
class Derived : public Base {
public:
Derived(int a);
}
Базовый класс является абстрактным, поэтому могут быть созданы только производные классы.
Как лучше реализовать производный Ctor?
Derived::Derived(int a) : Base(a) {}
Base::Base(int a) : m_a(a) {}
Или
Derived::Derived(int a) { m_a = a;}
Base::Base(){}
Лучше ли удалить элемент из конструктора Base, так как он не может быть создан отдельно, ИЛИ оставить его в конструкторе Base, чтобы остаться для него назначением?