Читайте также:
|
|
Вариант 1:
TComplex::TComplex(int _re, int _im) {
re = _re;
im = _im;
}
Вариант 2:
TComplex::TComplex(int _re, int _im):
Re(_re), im(_im)
{
}
Конструктор копирования. Определение, синтаксис объявления и пример использования.
Конструктор копирования – важный вид конструктора, который предназначен для создания объекта как копии уже существующего объекта.
Синтаксис объявления конструктора копирования:
<Имя класса> (const <Имя класса>&);
Пример:
TComplex::TComplex(TComplex &C) {
re = C.GetRe();
im = C.GetIm();
}
Конструктор копирования выполняет поэлементное копирование полей.
class TNamedComplex {
public:
Int re; int im;
char *name;
…
};
…
TComplex B(1, 2, “b”);
TComplex A = B;
Пример создания конструктора копирования для класса TNamedComplex
TNamedComplex::TNamedComplex(TNamedComplex& C){
re = C.GetRe();
im = C.GetIm();
int len = strlen(C.GetName()) + 1;
name = new char[len];
Strcpy(name, C.GetName());
}
Если класс содержит поля-указатели, поэлементного копирования недостаточно.
Необходимо явно прописывать конструктор копирования, который выделит необходимую память и скопирует данные.
Конструкторы. Определение, виды, свойства, синтаксис объявления и пример использования.
Конструктор – специальный метод, который автоматически вызывается при создании объекта.
Возможные функции конструктора:
Дата добавления: 2015-10-02; просмотров: 74 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Имя метода совпадает с именем класса. | | | Выделение памяти для полей класса; |