Здравствуйте, Dreama, Вы писали:
D>Не соображу, как в данном случае записать конструктор копирования для a2
D>D>class a1
D>{
D>public:
D> a1(int x_) { x = x_; }
D> virtual ~a1() { }
D>private:
D> int x;
D>};
D>class a2: public a1
D>{
D>public:
D> a2(int y, int x_): a1(x_) { y = y_; }
D> virtual ~a2() { }
D> a2( a2 &src )
D> {
D> y = src.y;
D> }
D>private:
D> int y;
D>};
D>
D>в таком виде компилятор жалуется, что для a1 нет дефолтного конструктора.
А какая вообще цель? Код довольно корявый.
Можно использовать конструктор копирования класса a1:
a2( a2 &src ):a1(src),y(src.y)
{
}
По поводу стиля — лучше x_ использовать для членов, а x для параметров.