};
//деструктор класу: ~ mobile () {
};
//функція оплатиint mobile: pay (char * filename, int id_pay, int balance_pay, string name_pay) {int flag; (id); (name_pay);=1;=id_pay;=balance_pay; {: ofstream fileout (filename, std: ios: app); lt; lt; std: endl; lt; lt; name_pay lt; lt; »»; lt; lt; id lt; lt; »»; lt; lt; balance lt; lt; std: endl; .close ();
} (...) {= 200 ;;
} flag;
};
.2 Опис структур даних і функцій
Нижче представлені опису функцій-членів класу mobile.
1) Метод mobile: mobile () є конструктором класу mobile. У таблиці 9 представлені структури даних, використовувані в даному методі.
Таблиця 9 - Структури даних, використовувані в методі mobile
ІмяТіпПредназначеніеЛокальние змінні id intНомер счетаbalanceintБаланс
2) Метод unsigned int mobile: pay (char * filename, int id_pay, int balance_pay, string name_pay) призначений для оплати послуг мобільного зв'язку. У таблиці 10 представлені структури даних, використовувані в методі.
Таблиця 10 - Структури даних, використовувані в методі pay
ІмяТіпПредназначеніеФормальние змінні filename * charФайловая переменнаяid_payintНомер оплатиbalance_payintСумма оплатиname_paystringОператорЛокальние переменниеflagunsigned intПеременная виникнення ошібкіstrstringВспомогательная рядок для перезапису файлаbalance1intВспомогательная переменнаяtempintПеременная перевірки
6.3 Інструкція програмісту
Даний клас є спадкоємцем абстрактного базового класу System_Term. Це дозволило побудувати опис цього класу на основі існуючого абстрактного базового класу. Щоб клас - спадкоємець не став абстрактним, необхідно було перевантажити чисту віртуальну функцію базового класу unsigned int mobile: pay (char * filename, int id_pay, int balance_pay, string name_pay), яка в даному випадку призначена для оплати послуг телебачення. Тип успадкування в даному випадку public, це дозволяє класу-нащадку mobile мати доступ до полів базового класу System_Term. Так як похідні класи мають спільні поля і функції (наприклад, поле «id», «balance»), то ці члени класу описані в базовому класі.
7. Структура класу Home
.1 Формальний опис класу
Даний клас є спадкоємцем абстрактного базового класу System_Term.
Нижче представлений код класу mobile з заголовного файлу Home.h., які класом - спадкоємцем базового класу даної програми.
# define _CRT_SECURE_NO_WARNINGS
# include «System.h»
# pragma once
mobile: public System_Term
{:( void);
~ mobile (); unsigned int pay (char * filename, int id_pay, int balance_pay, string name_pay);
};
Нижче представлена ??реалізація методів класу Home з файлу Home.cpp. Даний метод є перевантаженою віртуальної функцією базового класу.
# include «stdafx.h»
# include «home.h»
# include «Form1.h»
# include lt; string gt;
# include lt; iostream gt;
# include lt; fstream gt;
namespace std; namespace Kurs;
//констурктор: Home (void) {= 0;=0;=«»;
};
//дестуктор: ~ Home () {
};
//функція оплатиint Home: pay (char * filename, int id_pay, int balance_pay, string name_pay)
{int flag=0; temp=0; filetemp=0; {: ifstream file (filename, std: ios: app); ((! file.eof ()) amp; amp; ( filetemp!=1)) { gt; gt; id; gt; gt; balance; gt; gt; name; (id!=id_pay)
{= 1;
}
{= 0;=1;=300;
}
}. close ();
} (...) {= 200 ;;
} (temp == 1) {= 1;=id_pay;=balance_pay;=name_pay; {: ofstream fileout (filename, std: ios: app); lt; lt; id lt; lt; «»; Lt; lt; balance lt; lt; «»; Lt; lt; name lt; lt; std: endl; .close ();
} (...) {= 200 ;;
}
} flag;
};