Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
создает объект со значениями данных x=0 и y=0.
Если в конструкторе не было инициализации, то этот конструктор предоставляет возможность создавать неинициализированные объекты даже при наличии в определении класса еще одного конструктора с параметрами.
Конструктор по умолчанию схож при вызове с конструктором с умалчиваемыми значениями и при написании конструкции:
< Имя класса> < имя объекта>;
компилятор обнаруживает двусмысленность и выдает сообщение об ошибке, т. к. не ясно какой конструктор вызывать.
При наличии в классе конструктора с параметрами, задаваемыми по умолчанию, объявлять конструктор по умолчанию нельзя!
Если в определении класса вообще нет конструктора, компилятор автоматически предоставляет конструктор по умолчанию следующего вида:
< Имя класса> () { }
который и создает неинициализированные объекты.
Конструктор копирования
Назначение:
1) создать объект полностью совпадающий с уже созданным;
2) передача в некоторую функцию экземпляра класса, при этом в стеке создается локальная копия объекта, с которым и работает функция;
3) функция передает в некоторую переменную объект класса, фактически этот объект сначала создается в функции как локальная переменная, и лишь затем копируется в переменную, стоящую в левой части выражения.
Операции копирования объектов выполняет конструктор копирования.
В большинстве случаев компилятор предоставляет нам конструктор копирования по умолчанию, обеспечивая правильное копирование.
Копирование по умолчанию:
class T {
Дата публикования: 2014-11-28; Прочитано: 249 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!