Здравствуйте, Dreama, Вы писали:
D>Здравствуйте, alzt, Вы писали:
A>>А какая вообще цель? Код довольно корявый. D>Цель — узнать синтаксис конструктора для такого случая.
В данном случае необходимо инициализировать базовый класс. Можно использовать конструктор a1(int x), конструктор копирования (который создаётся в любом случае) или дописать базовый класс. Конструктор a1(int x) вряд ли подойдёт, т.к. у нас нет доступа к x.
D>А в чем корявость?
1. Почему a1(int x_) не explicit?
2. Присваивание y = y_. Используй список инициализации. Плюс ещё ошибки компиляции. y_ вообще нигде не определено.
3. a2( a2 &src ). Почему здесь a2 не константа?
A>>По поводу стиля — лучше x_ использовать для членов, а x для параметров. D>Почему лучше?
Более устоявшееся правило.
Члены удобно обозначать как m_x или x_. Когда видишь такие обозначения, то сразу понимаешь, что это член класса, а не локальная или глобальная переменная.