Как правильно реализовать конструктор с параметром в производном классе?
#include <iostream>
using namespace std;
class A{
public:
int ab, ac;
A(int a, int b){
ab=a;
ac=b;
cout<<ab<<"\n"<<ac<<endl;
};
};
class B:public A{
};
int main() {
A a(12,12);
return 0;
}
Объявляю класс "A", класс "B", который производный от "A". В конструкторе с параметрами класса "B" хочу сделать использование конструктора с параметрами базового класса. Не понимаю как это сделать.
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Конструктор дочернего класса (A) вызывается в разделе инициализации.
Типа,
class B:public A
{
int cc;
public:
B(int a, int b, int c):A(a,b) { cc = c; }
};
И вообще, стоит почитать о разделе инициализации, потому что лучше писать
A(int a, int b):ab(a),ac(b)
{
cout<<ab<<"\n"<<ac<<endl;
};
ну, и, соответственно,
B(int a, int b, int c):A(a,b),cc(c){}
потому что так выполняется именно инициализация, а не присваивание, а это могут быть в некоторых ситуациях принципиально разные вещи...