ВУЗ:
Составители:
Рубрика:
14
Синтаксис указателя
имя класса * имя объекта
синтаксис обращения к членам класса
(* имя объекта).член класса;
3. Способы передачи объекта в функции
Объект для программирования полностью наследует способы передачи парамет-
ров функции от процедурного программирования. Всего способов передачи три:
3.1. По назначению:
1.
Создается копия, передавшая параметры внутри функции;
2.
Внутри функции идет работа с копией (копия области памяти);
3.
При выходе из функции копия разрушается, т.е. все изменения, которые были
сделаны в копии, пропадают.
void func(int x); - прототип
func(x); - вызов
3.2. По адресу:
1.
Копия параметра внутри функции не создается;
2.
Работа внутри функции с оригиналом параметра;
3.
Все изменения, которые происходят внутри функции, сохраняются при выходе
из нее.
void func(int*x);
func(&x);
3.3. По ссылке:
При передаче параметра по ссылке, технология передачи параметра аналогично пе-
редачи по адресу, но при этом используется ссылочный тип.
void func(int&x);
func(x);
4. Передача параметров в функцию применительно к объектам
При передаче объекта в функцию по значению требуется создать копию
объекта, а при
выходе из такой функции требуется разрушить копию.
Создание копии:
1.
Копию создает конструктор копии, если он есть в классе;
2.
Если конструктора копии нет в классе, то копия создается компилятором.
Разрушение копии:
1.
Разрушает копию деструктор, если он описан в классе;
2.
Если нет деструктора в классе, то компилятор моделирует деструктор.
Объектно-ориентированное программирование обеспечивает возможность мно-
гократного использования программного кода. Если нужен класс объектов, очень по-
хожих на существование, но с несколько отличными свойствами, можно построить но-
вый класс из уже существующего. В С++ исходный класс называется базовым (base
class), а тот, который
создается из него – производным (derived class).
Каждый объект производного класса может одновременно считаться объектом
соответствующего базового класса. Например, паровоз остается вагоном, секундомер –
часами.
Производные классы обладают очень полезным свойством: все, что уже работа-
ет в базовом классе, будет автоматически наследоваться (inherited) производным клас-
сом.
14 Синтаксис указателя имя класса * имя объекта синтаксис обращения к членам класса (* имя объекта).член класса; 3. Способы передачи объекта в функции Объект для программирования полностью наследует способы передачи парамет- ров функции от процедурного программирования. Всего способов передачи три: 3.1. По назначению: 1. Создается копия, передавшая параметры внутри функции; 2. Внутри функции идет работа с копией (копия области памяти); 3. При выходе из функции копия разрушается, т.е. все изменения, которые были сделаны в копии, пропадают. void func(int x); - прототип func(x); - вызов 3.2. По адресу: 1. Копия параметра внутри функции не создается; 2. Работа внутри функции с оригиналом параметра; 3. Все изменения, которые происходят внутри функции, сохраняются при выходе из нее. void func(int*x); func(&x); 3.3. По ссылке: При передаче параметра по ссылке, технология передачи параметра аналогично пе- редачи по адресу, но при этом используется ссылочный тип. void func(int&x); func(x); 4. Передача параметров в функцию применительно к объектам При передаче объекта в функцию по значению требуется создать копию объекта, а при выходе из такой функции требуется разрушить копию. Создание копии: 1. Копию создает конструктор копии, если он есть в классе; 2. Если конструктора копии нет в классе, то копия создается компилятором. Разрушение копии: 1. Разрушает копию деструктор, если он описан в классе; 2. Если нет деструктора в классе, то компилятор моделирует деструктор. Объектно-ориентированное программирование обеспечивает возможность мно- гократного использования программного кода. Если нужен класс объектов, очень по- хожих на существование, но с несколько отличными свойствами, можно построить но- вый класс из уже существующего. В С++ исходный класс называется базовым (base class), а тот, который создается из него – производным (derived class). Каждый объект производного класса может одновременно считаться объектом соответствующего базового класса. Например, паровоз остается вагоном, секундомер – часами. Производные классы обладают очень полезным свойством: все, что уже работа- ет в базовом классе, будет автоматически наследоваться (inherited) производным клас- сом.
Страницы
- « первая
- ‹ предыдущая
- …
- 12
- 13
- 14
- 15
- 16
- …
- следующая ›
- последняя »