Здравствуйте, Юрий Жмеренецкий, Вы писали:
ЮЖ>Здравствуйте, zfima, Вы писали:
Z>>почему так можно
ЮЖ>[...]
Z>>а так нет???
Z>>Z>>class area_cl{
Z>>public:
Z>> int height;
Z>> int width;
Z>>};
Z>>class cilinder: public area_cl{
Z>>public:cilinder(int h, int w): height(h), width(w){}
Z>>};
Z>>
ЮЖ>Вызов конструктора 'cilinder' должен привести к вызову конструктора area_cl, но запись ': height(h), width(w)' никак не может быть таким вызовом (формально, в этом контексте не будут найдены имена height/width).
ЮЖ>Вызывать конструктор базобого подобъекта нужно так:
ЮЖ>ЮЖ>class area_cl{
ЮЖ>public:
ЮЖ> area_cl(int h, int w) : height(h), width(w){}
ЮЖ> int height;
ЮЖ> int width;
ЮЖ>};
ЮЖ>class cilinder: public area_cl{
ЮЖ> public:
ЮЖ> cilinder(int h, int w): area_cl(h, w){}
ЮЖ>};
ЮЖ>
Спасибо Юра!