ВУЗ:
Составители:
Рубрика:
95
структор копирования, как это было в примере с классами coord и
triang.
Конструктор копирования генерируется компилятором самостоя-
тельно, если он не был написан программистом. В этом случае создает-
ся точная копия инициализирующего объекта, что требуется далеко не
всегда.
Пример1:
class cl {int num; float val;
public:
cl (int i, float x) {num=i; val=x;}
};
void main () {cl obj1 (10, 20.3);
// Для создания объектов obj2 и obj3
// используется конструктор копирования по умолчанию:
cl obj2 (obj1);
cl obj3 = obj2;
}
Пример2:
class prim{int n; float v;
public:
prim (int i, float x){n=i; v=x;}
prim (const prim &obj, int i = 0){
if (i) n=i;
else n=obj.n;
v=obj.v; }
};
void main () {
prim obj1(10, 23.5);
/* Для создания объектов obj2 и obj3 используется явно описан-
ный конструктор копирования: */
prim obj2 = obj1;
prim obj3 (obj1, 12);
}
Теперь внесем минимальные изменения, и компилятор будет вы-
нужден в дополнение к имеющемуся конструктору копирования доба-
вить свой:
class prim {int n; float v;
Страницы
- « первая
- ‹ предыдущая
- …
- 91
- 92
- 93
- 94
- 95
- …
- следующая ›
- последняя »
