Объектно-ориентированное программирование. Богомолов А - 11 стр.

UptoLike

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) относится ко всем объектам, которые ведут себя одинако-
во. Например, все окружности имеют вполне определенную форму, они обладают та-
кими атрибутами, как местоположение, цвет, диаметр. Объект – это конкретный экзем-
пляр данного класса. Например, Земля имеет размер, цвет и местоположение, отлич-