logo
ООП 2012

36) Объекты с динамическими полями. Копирующий конструктор.

Наиболее часто динамическое распределение памяти применяют в классах, использующих в качестве полей массивы, строки, структуры и их

комбинации. В этом случае поле содержит указатель на переменную

соответствующего типа. Указатель получает свое значение при вьщелении

памяти под структуру данных, для которой он определен. Освобождение этой

памяти происходит по адресу в указателе в соответствии с типом переменной.

Конструктор такого класса обьгчно осуществляет вьщеление участков

памяти требуемого размера под переменные, адреса которых присваиваются

соответствующим указателям, а также обеспечивает контроль наличия

доступной памяти. Деструктор класса в этом случае должен при уничтожении

объекта освобождать распределенную при конструировании память, так как

по умолчанию эта память не освобождается

Копирующий конструктор:

Автоматически вызывается при операциях:

а) при использовании объявлений типа

TPoint A(2,5),B=A;

б) при передаче параметров-объектов по значению, например: