Здравствуйте, 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);