Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

A one ;



создает объект со значениями данных x=0 и y=0.

Если в конструкторе не было инициализации, то этот конструктор предоставляет возможность создавать неинициализированные объекты даже при наличии в определении класса еще одного конструктора с параметрами.

Конструктор по умолчанию схож при вызове с конструктором с умалчиваемыми значениями и при написании конструкции:

< Имя класса> < имя объекта>;

компилятор обнаруживает двусмысленность и выдает сообщение об ошибке, т. к. не ясно какой конструктор вызывать.

При наличии в классе конструктора с параметрами, задаваемыми по умолчанию, объявлять конструктор по умолчанию нельзя!

Если в определении класса вообще нет конструктора, компилятор автоматически предоставляет конструктор по умолчанию следующего вида:

< Имя класса> () { }

который и создает неинициализированные объекты.

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

Назначение:

1) создать объект полностью совпадающий с уже созданным;

2) передача в некоторую функцию экземпляра класса, при этом в стеке создается локальная копия объекта, с которым и работает функция;

3) функция передает в некоторую переменную объект класса, фактически этот объект сначала создается в функции как локальная переменная, и лишь затем копируется в переменную, стоящую в левой части выражения.

Операции копирования объектов выполняет конструктор копирования.

В большинстве случаев компилятор предоставляет нам конструктор копирования по умолчанию, обеспечивая правильное копирование.

Копирование по умолчанию:

class T {





Дата публикования: 2014-11-28; Прочитано: 249 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...