класу System_Term.
1) Метод System_Term: System_Term (void) є конструктором класу System_Term. У таблиці 1 представлені структури даних, використовувані в даному методі.
Таблиця 1 - Структури даних, використовувані в методі System_Term
ІмяТіпПредназначеніеФормальние змінні id intНомер счетаbalanceintБалансnamestringІмя
) Метод unsigned int setdata (char * filename, int newid) призначений для реєстрації нових користувачів в системі. У таблиці 2 представлені структури даних, використовувані в методі.
Таблиця 2 - Структури даних, використовувані в методі setdata ??p>
ІмяТіпПредназначеніеФормальние змінні filename * charФайловая переменнаяnewidintНовий номерЛокальние переменниеflagunsigned intПеременная виникнення ошібкіtempintПеременная перевірки
2) Метод void check_balance (char * filename, int id_check) призначений для перевірки балансу за номером рахунку. У таблиці 3 представлені структури даних, використовувані в методі.
Таблица3 - Структури даних, використовувані в методі check_balance
ІмяТіпПредназначеніеЛокальние змінні filename * charФайловая переменнаяid_checkintНовий номерЛокальние переменниеflagunsigned intПеременная виникнення ошібкіtempintПеременная перевірки
4) Метод unsigned int change_balance (char * filename, int id_check, int new_balance) призначений для зміни балансу. У таблиці 4 представлені структури даних, використовувані в методі.
Таблиця 4 - Структури даних, використовувані в методі change_balance
ІмяТіпПредназначеніеФормальние змінні filename * charФайловая переменнаяid_checkintНовий номерnew_balanceintНовий балансЛокальние переменниеflagunsigned intПеременная виникнення ошібкіtempintПеременная проверкіid1intВспомогательние змінні для запису номераbalance1intВспомогательние змінні для запису балансаstrstringВспомогательние змінні для перезапису файлу
) Метод void setname (string newname) привласнює значення полю ім'я.
) Метод void setamount (int value) привласнює значення полю балансу.
) Метод void setid (int value) привласнює значення полю номер.
) Метод string getname () повертає значення поля ім'я.
) Метод void setamount (int value) повертає значення поля ім'я.
) Метод void setid (int value) повертає значення поля номер.
) Метод virtual unsigned int pay (char * filename, int id_pay, int balance_pay, string name_pay)=0 є чистою віртуальної функцією, що робить заданий клас абстрактним.
3.3 Інструкція програмісту
Даний клас System_Term є базовим абстрактним і містить чисту віртуальну функцію. У цьому класі вже заздалегідь продумані і описані методи, які в подальшому будуть використані при реалізації класів - нащадків. В силу того, що даний клас є абстрактним, він не передбачає створення примірників. Чистої віртуальної функцією в даному класі є функція virtual unsigned int pay (char * filename, int id_pay, int balance_pay, string name_pay)=0, яка не має реалізації. Ця функція буде перевантажена у всьому класах нащадках і реалізує оплату користувачем в системі. Так як вона необхідна для всіх дочірніх класів, мається сенс робити її чистою віртуальної, а клас System_Term абстрактною, що реалізує на практиці один з принципів об'єктно-орієнтованого підходу - поліморфізм. Якщо чисто віртуальна функція не визначається в похідному класі, то вона і залишається такою, а значить похідний клас теж є абстрактним.
4. Структура класу Internet
.1 Формальний опис класу
Нижче представлений код класу Internet з заголовного файлу Internet.h., які класом - спадкоємцем базового класу даної програми.
# define _CRT_SECURE_NO_WARNINGS
# include «System.h»
# pragma once
Internet: public System_Term
{:( void);// Конструктор класу
~ Internet ();// Деструктор классаunsigned int pay (char * filename, int id_pay, int balance_pay, string name_pay);// Перевантажена функція оплати
};
Нижче представлена ??реалізація методів класу Internet з файлу Internet.cpp. Даний метод є перевантаженою віртуальної функцією базового класу.
# include «stdafx.h»
# include «Internet.h»
# include «Form1.h»