руктор копирования // Конструк

Автор admin Пятница, 15 мая 2009 11:32

руктор копирования // Конструктор инициализации CRectangle (int L. int T. int R. int B); // Определения других функций-членов }: // Реализация класса CRectangle::CRectangle():Left(0). Top(O). Right(O). Bottom(O) Конструкторы и деструкторы 461 { } CRectangle:-.CRectangle (int L. int Т. int R. int B) { Left = L; Top = T: Right – R; Bottom = B; } CRectange::CRectange(CRectange& R) // Конструктор копирования { Left«R.Left; Top-R.Top; Right-R.Right; Bottom=R.Bottom; } // Использование конструктора копирования при создании объекта void mainO { CRectangle Rect(25. 25. 100. 100); // Вызывается конструктор с параметрами CRectangle RectCopy(Rect); // Вызывается конструктор копирования } Если конструктор копирования класса не определен, компилятор генерирует его неявно. Конструктор копирования, генерируемый компилятором, инициализирует новый объект, выполняя операцию поэлементного копирования переменных существующего объекта класса, передаваемого в качестве параметра. Следовательно, инициализировать новый объект, который будет иметь тот же тип, что и существующий объект, можно даже тогда, когда конструктор


Комментарии закрыты.