Re: Синтаксис конструктора копирования
От: alzt  
Дата: 07.10.08 13:59
Оценка:
Здравствуйте, 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 для параметров.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.