B
наследуется от A
, поэтому необходимо создать A
, но у вас нет конструктора по умолчанию для A
, и при этом вы не вызываете конструктор явно для A
из B
. список инициализации.
Что-то вроде этого - то, что вам нужно:
B(int c1=10, int d1=20) : A(c1, d1) {
c=c1; d=d1;
e = a * b;
}
Или сделать A
конструктивным по умолчанию.
Кроме того, вы должны использовать список инициализации для c
, d
и e
, а не присваивать в теле вашего конструктора (хотя оптимизатор позаботится об этом в этом ситуация, лучше сделать все правильно)
B(int c1=10, int d1=20) : A(c1, d1), c(c1), d(d1), e(a*b) {}