class A // abstract class
{
protected:
int m_iA;
int m_iB;
int m_iC;
int m_iD;
int m_iE
~A();
};
class B : public A // abstract class
{
protected:
double m_dA;
double m_dB;
double m_dC;
double m_dD;
~B();
};
class C : public B
{
public:
C(int iA, int iB, int iC, int iD, int iE, double dA, double dB, double dC, double dD)
{
}
}
Вопрос> Как вы можете видеть выше, например, как базовый класс A
и B
содержат много переменных-членов. Какое лучшее решение передать эти начальные значения из класса C
до базовых классов?, который является лучшим местом для инициализации переменных-членов базового класса?
Метод1> Назначить переменные элемента базового класса непосредственно внутри тела конструктора класса C
.
Метод2> Передайте все начальные значения от конструктора C
до B
, а затем, наконец, до A
.
Спасибо
Существует третий вариант, который вы не упомянули: передать (const ссылки на) полностью построенные объекты типа A и B в конструктор C. –