Объекты программы и объекты реального мира

Объекты, использующиеся в программе, зачастую представляют собой реальные физические объекты. В таких ситуациях проявляется взаимодействие между программой и реальным миром.

В качестве примера создадим объект класса, основой которого послужит структура, описывающая модели телефонов (рис. 1.7).

Упражнение 1.2. Телефоны в качестве объектов

// модели телефонов в качестве объектов «include «include using namespace std;

class phone

// определение класса

private:

char* model_name;

int model_number;

float model_cost;

// наименование марки

// номер модели

// стоимость модели

public:

void set_phone(char* name, int number, float cost) //установка данных

model_name = name;

model_number = number;

model_cost ? cost;

}

void show_phone() //вывод данных

{

{ cout « "Стоимость телефона ” << model_name

« ” " << model_number

« " = " « model_cost « ” рублей” << endl « endl;

} і

3int main()

{ SetConsoleOutputCP(1251);

phone phonel, phone2; //определение объектов класса phone

phonel.set_phone(”HTC Desire", 601, 13500.); // вызов метода объекта phonel phone2.set_phone(”HTC Desire", 300, 11250.); // вызов метода объекта phone2 phonel.show_phone(); // вызов метода объекта phonel phone2.show_phone(); // вызов метода объекта phone2

Рис. 1.7

В данной программе используется класс phone, который содержит три поля данных (model name, model number и model cost) и два метода. Метод класса set_phone() присваивает значения всем трем полям класса одновременно. Метод show_phone() выводит на экран содержимое полей.

В программе создается два объекта класса phone с именами phonel и phone2. Метод set_phone() присваивает их полям соответствующие значения, а метод show_phone() выводит эти значения на экран.

Результат работы программы представлен на рис. 1.8.

Стоимость телефона НТС Desire 601 = 13500 рублей

Стоимость телефона НТС Desire 300 = 11250 рублей

Рис. 1.8

Класс как тип данных

Следующий пример (рис. 1.9) демонстрирует применение объектов в качестве переменных типа, определенных пользователем. Объекты представляют собой расстояния, выраженные в метрической системе мер.

Упражнение 1.3. Длины в метрической системе мер в качестве объектов

Н длины в метрической системе в качестве объектов l#include

«include

using namespace std;

]class Distance // определение класса

{

private:

int meters;

float centimeters;

public:

void set_dist(int mt, float ct) //установка значений полей

{

meters = mt;

centimeters = ct;

}

] void get_dist() // ввод полей с клавиатуры

{

cout << "ХпВведите число метров: " ; cin » meters;

cout « “ХпВведите число сантиметров: ” ; cin » centimeters;

}

Рис. 1.9 (начало)

] void show dist() //вывод полей на экран

{

cout << meters « “ м " << centimeters << “ см }

int main()

{ SetConsoleOutputCP(1251);

Distance distl, dist2; //определение двух длин

distl.set_dist(13, 6.5); // установка значений для distl dist2.get_dist(); // ввод значений для dist2

// вывод длин на экран

cout « " distl = distl.show_dist();

cout << “ dist2 = dist2.show_dist();

cout << endl << endl;

}

Рис. 1.9 (окончание)

В этой программе класс Distance содержит два поля (meters и centimeters) и три метода: set_dist(), предназначенный для задания полей объекта через передаваемые ему аргументы; get_dist(), получающий эти же значения с клавиатуры, и show_dist(), отображающий на экране расстояние в метрах и сантиметрах. Таким образом, значения полей объекта класса Distance могут быть заданы двумя способами.

В функции main() определяются две переменные типа Distance: distl и distl. Значения полей переменной distl задаются с помощью функции set_dist(), вызванной с аргументами 13 и 6.5, а значения полей переменной distl вводятся пользователем.

Результат работы программы представлен на рис. 1.10.

Введите число метров: 10

Введите число сантиметров: 0

distl = 13 м 6.5 см

dist2 = 10 м 0 см

Рис. 1.10

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >