ів, що реалізують в сукупності функціонал терміналу. Класом-предком в даному випадку є клас System_Term. Цей клас є абстрактним і тому не може мати екземплярів. Від нього отнаследован класи Internet, mobile, TV, Home.
Дана система буде реалізована на мові програмування C ++ з використанням об'єктно-орієнтованого підходу, кожен клас реалізований у двох модулях: заголовному і модулі реалізації
3. Структура базового класу System_Term
.1 Формальний опис класу
Нижче представлений код класу System_Term з заголовного файлу System.h., які є абстрактним базовим класом даної програми.
# include lt; string gt;
# pragma once
namespace std;
System_Term {: _Term (void);// Конструктор класу
virtual ~ System_Term ();// Віртуальний деструкторgetname ();// Повернути значення поля імяsetname (string newname);// Отримати значення поля імяgetamount ();// Повернути значення поля балансsetamount (int value);// Отримати значення поля балансgetid ();// Повернути значення поля номерsetid (int value);// Отримати значення поля номер
unsigned int setdata (char * filename, int newid);// Зареєструвати новий обліковий запісьcheck_balance (char * filename, int id_check);// Перевірка балансаint change_balance (char * filename, int id_check, int new_balance);// Зміна балансаunsigned int pay (char * filename, int id_pay, int balance_pay, string name_pay)=0;// Функція оплати: balance; id; name;
};
Нижче представлена ??реалізація методів класу System_Term з файлу System_T.cpp
# include «stdafx.h»
# include «System.h»
# include «Form1.h»
# include lt; iostream gt;
# include lt; fstream gt;
# include lt; string gt;
namespace std; namespace Kurs;
//конструктор класса_Term: System_Term (void)
{= 0;=0;
};
//деструктор класса_Term: ~ System_Term (void)
{
};
//функція повернення значення поля імяSystem_Term: getname ()
{name;
};
//функція повернення отримання поля ім'я
void System_Term: setname (string newname) {
name=newname;
};
//функція повернення значення поля баланс
int System_Term: getamount ()
{balance;
};
//функція отримання значення поля балансSystem_Term: setamount (int value) {
balance=value;
};
//функція повернення значення поля номер
int System_Term: getid () {id;
};
//функція отримання значення поля номерSystem_Term: setid (int id_value) {
id=id_value;
};
//функція зміни балансу
unsigned int System_Term: change_balance (char * filename, int id_check, int new_balance) {int flag=0; temp=0; str=»»; id1=0; balance1=0; id2=-1;: ifstream file (filename, std: ios: in); ((! file.eof ()) amp; amp; (temp!=1)) { gt; gt; id; gt; gt; balance; (id == id_check)
{= 1; (id); (balance);=balance + new_balance; .close () ;: ifstream file2 (filename, std: ios: in); (! file2.eof () )
{ gt; gt; id1; (id1 == id_check)
{ gt; gt; balance1;=balance;
} gt; gt; balance1; (id1!=id2)=str + std: to_string (id1) + »« + std: to_string (balance1) + »»;=id1;
}. close () ;: ofstream in (filename, ios: out | ios: trunc) ;. close () ;: ofstream fileout2 (filename, std: ios: out) ;. write ( str.c_str (), str.size ()) ;. close ();=1;
}
}. close (); (temp!=1)
{= 300; (id_check); (new_balance) ;: ofstream fileout (filename, std: ios: app); lt; lt; std: endl; lt; lt; id lt; lt; »»; lt; lt; balance lt; lt; std: endl; .close ();
} flag;
};
.2 Опис структур даних і функцій
Нижче представлені опису функцій-членів ...