Язык С++ и программирование на нем. Рейзлин В.И. - 91 стр.

UptoLike

Составители: 

93
public:
coord (){x = y = z =0;}
coord (double xv, double yv, double zv=0) { x = xv; y = yv; z = zv;}
coord (coord & c){x = c.x; y = c.y; z = c.z;}
};
class triang{
coord vert1, vert2, vert3; // Координаты вершин треугольни-
ка.
public:
triang ();
triang (coord &v1, coord &v2, coord &v3);
};
При инициализации некоторого объекта класса triang потребует-
ся три раза вызвать конструкторы для его вершин объектов типа
coord. Для этого в определении конструктора класса triang после двое-
точия нужно поместить список обращений к конструкторам класса
coord:
Traing::triang (coord &v1, coord &v2, coord &v3):
vert1 (v1), vert2 (v2), vert3 (v3){. . .}
Вызов конструкторов класса coord происходит до выполнения
тела самого конструктора класса triang. Порядок их вызова определяет-
ся порядком появления объявлений членов типа coord при создании
класса triang.
Класс coord содержит конструктор без аргументов. Вместо запи-
си при обращении к такому конструктору
triang::triang (): vert1(), vert2(), vert3() {. . .}
допускается написать просто так:
triang::triang (){. . .}
Инициализация констант
Если среди данных-членов класса имеются члены, описанные с
модификатором const, то при инициализации используется та же форма
записи конструктора, что и в случае с данными абстрактных типов:
class cl{ int v;
const c;
public:
cl (int a, int b):c (b) {v=a;}