ВУЗ:
Составители:
Рубрика:
11
При возврате m3 из функции будет вызван конструктор копирования, чтобы по-
битово вернуть созданный внутри функции объект.
Объект m3 является локальной переменной для функции sum ( ),
В процедурном программировании вернуть локальную переменную такого типа
из функции невозможно. В ООП подобная операция совершается при помощи конст-
руктора копирования.
Указатель this
Используется только в функциях членах класса. Указатель возвращает объект
(адрес объекта), для которого функция применяется.
Пример:
Добавляем в класс my функцию next (), которую вычисляет следующий объект
делает
x++;
y++;
class my
{int x, y;
public:
input ( ) {… }
output ( ) {… }
set…
ret…
my* next ( ) {x++; y++; return this;}
my (my & obj) {… }
конструкторы…
деструкторы…
};
void main ( )
{my m1, *m2; - конструктор по умолчанию
m1. input ( );
m2. input ( );
my m3 = m1;
my m4 = *m2; - вызов конструктора копирования
Получить следующий объект
m1. next ( ); - без this
my m5 = m1. next ( ); копирование идет из указателя this.
Классы
Понятие класс (class) относится ко всем объектам, которые ведут себя одинако-
во. Например, все окружности имеют вполне определенную форму, они обладают та-
кими атрибутами, как местоположение, цвет, диаметр. Объект – это конкретный экзем-
пляр данного класса. Например, Земля имеет размер, цвет и местоположение, отлич-
11 При возврате m3 из функции будет вызван конструктор копирования, чтобы по- битово вернуть созданный внутри функции объект. Объект m3 является локальной переменной для функции sum ( ), В процедурном программировании вернуть локальную переменную такого типа из функции невозможно. В ООП подобная операция совершается при помощи конст- руктора копирования. Указатель this Используется только в функциях членах класса. Указатель возвращает объект (адрес объекта), для которого функция применяется. Пример: Добавляем в класс my функцию next (), которую вычисляет следующий объект делает x++; y++; class my {int x, y; public: input ( ) {… } output ( ) {… } set… ret… my* next ( ) {x++; y++; return this;} my (my & obj) {… } конструкторы… деструкторы… }; void main ( ) {my m1, *m2; - конструктор по умолчанию m1. input ( ); m2. input ( ); my m3 = m1; my m4 = *m2; - вызов конструктора копирования Получить следующий объект m1. next ( ); - без this my m5 = m1. next ( ); копирование идет из указателя this. Классы Понятие класс (class) относится ко всем объектам, которые ведут себя одинако- во. Например, все окружности имеют вполне определенную форму, они обладают та- кими атрибутами, как местоположение, цвет, диаметр. Объект – это конкретный экзем- пляр данного класса. Например, Земля имеет размер, цвет и местоположение, отлич-
Страницы
- « первая
- ‹ предыдущая
- …
- 9
- 10
- 11
- 12
- 13
- …
- следующая ›
- последняя »