Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Объекты как аргументы методов и доступ к их числам.

Структура программы. Директивы. Переменные и константы. | Типы данных. Преобразования типов. | Циклы и ветвления | Синтаксис определения структуры, структурной переменной. Доступ к полям структуры, присвоение структурных переменных. | Синтаксис определения, инициализация указателя на структуру. Работа с полями структуры через указатели. | Определение функции. Передача аргументов и возврат значения по значению, ссылке и указателю. Аргументы по умолчанию. Константы аргументов функции. | Перегруженные функции. Встроенные функции. Рекурсивные функции. | Область видимости и класс памяти. | Объявление и инициализация одномерного и двумерного массивов. Работа с элементами массива через указатель. | Принципы ООП. Инкапсуляция. Наследование. Полиморфизм. |


Читайте также:
  1. D объекты
  2. ECN И ПРЯМОЙ ДОСТУП
  3. HUAWEI WS880 САМЫЙ ДОСТУПНЫЙ АС-РОУТЕР
  4. IX. Данные лабораторных и инструментальных методов обследования.
  5. NURBS-объекты
  6. VII. Хирургия. Навык хирургии позволяет персонажу снимать критические состояния с других персонажей и себя. Последний уровень навыка доступен только персонажу класса Медик.
  7. А) Доступ в рыцарские ряды в теории

Рассмотрим программу:

class Distance

{

private:

int feet;

float inches;

public:

Distance(): feet(0),inches(0.0) // конструктор без аргументов

{ }

Distance(int ft,float in): feet(ft),inches(in)

{ } // конструктор с двумя аргументами

void add_dist(Distance, Distance); // прототип

};

void Distance::add_dist(Distance dd1, Distance dd2)

{

inches = dd1.inches + dd2.inches; // сложение дюймов

feet = dd1.feet + dd2.feet; // сложение футов

}

 

int main()

{

Distance dist2(11, 6.25), dist1 (3, 7); // определение и инициализация

Distance dist3;

dist3.add_dist(dist1,dist2); // dist3 = dist1 + dist2

return 0;

}

Величины, которые мы хотим сложить, передаются в качестве аргументов методу add_dist(). Синтаксис передачи объектов в функцию такой же, как и для переменных стандартных типов: на месте аргумента указывается имя объекта. Поскольку add_dist() является методом класса Distance, он имеет доступ к любым (открытым и закрытым) полям любого объекта класса Distance, используя операцию точки (.), например dist1.inches и dist2.feet. Когда внутри функции происходит обращение к полям inches и feet, это означает, что на самом деле обращение происходит к полям dist3.inches и dist3.feet. Поэтому объект dist3 можно рассматривать как псевдоаргумент функции add_dist(); формально он не является аргументом, но функция имеет доступ к его полям.


Дата добавления: 2015-08-17; просмотров: 171 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Конструкторы и деструкторы. Конструкторы копирования по умолчанию.| Размещение в памяти членов объектов одного класса и способ создания общих полей (св-в).

mybiblioteka.su - 2015-2024 год. (0.01 сек.)