Re[5]: Синтаксис конструктора копирования
От: Iron_droid Россия  
Дата: 08.10.08 18:44
Оценка:
Здравствуйте, Dreama, Вы писали:

D>С остальным согласен, а тут есть сомнения. Мне кажется это "местечковые" особенности. Где-то так, где-то эдак.


Зато это позволяет избежать неприятных помарок:


class a2: public a1
{
public:
    a2(int y, int x_): a1(x_) { y = y_; } // Тут ошибка!!! Что во что копируется???
    virtual ~a2() { }

    a2( a2 &src ) 
    {
        y = src.y;
    }

private:
    int y;
};


А вообще, не стоит забывать, что если вы определяете хоть один конструктор, то конструктор по умолчанию не генерирутся. В таком случае нужно либо определять его явно, либо добавить во все параметры одного из конструкторов значения по умолчанию:


public:
    a2(int y = 10, int x_ = 20);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.