ВУЗ:
Составители:
Рубрика:
Объектно-ориентированное программирование на С++
переменные создаются один раз и доступны для любого объекта этого
класса. Значение статической переменной класса должно быть
проинициализировано глобально:
int Student::countTests = 6;
int Student::countExams = 4;
Кроме новых свойств и методов в новой версии класса Student
имеется еще одно отличие: все структурные свойства объявлены со
спецификатором protected. К protected-элементам можно
обращаться из самого класса и из производных от него классов. В
рассматриваемом примере это позволяет получать доступ к элементам
класса Student из его наследника ContractStudent.
Теперь определим производный класс ContractStudent:
// объявление класса "Студент-контрактник"
class ContractStudent: public Student
{
private:
double payment; // оплата обучения за семестр
double credit; // долг по оплате
public:
// конструкторы класса
ContractStudent(char*, int, int, int, int,
double, double = 0.0);
ContractStudent();
// метод получения суммы оплаты обучения
double GetPayment();
// метод изменения суммы оплаты обучения
void SetPayment(double);
// метод получения суммы долга
double GetCredit();
// метод уменьшения суммы долга
void DescCredit(double);
// метод сдать зачет
void SetTest(int, double);
// метод проверки допуска к экзаменационной сессии
bool PassedTests();
// метод проверки, сдана ли сессия
bool PassedExams();
// метод сдать экзамен
void SetExam(int, double);
// метод допуска к обучению в новой сессии
bool NextSession();
// метод распечатки информации о
93
Объектно-ориентированное программирование на С++
переменные создаются один раз и доступны для любого объекта этого
класса. Значение статической переменной класса должно быть
проинициализировано глобально:
int Student::countTests = 6;
int Student::countExams = 4;
Кроме новых свойств и методов в новой версии класса Student
имеется еще одно отличие: все структурные свойства объявлены со
спецификатором protected. К protected-элементам можно
обращаться из самого класса и из производных от него классов. В
рассматриваемом примере это позволяет получать доступ к элементам
класса Student из его наследника ContractStudent.
Теперь определим производный класс ContractStudent:
// объявление класса "Студент-контрактник"
class ContractStudent: public Student
{
private:
double payment; // оплата обучения за семестр
double credit; // долг по оплате
public:
// конструкторы класса
ContractStudent(char*, int, int, int, int,
double, double = 0.0);
ContractStudent();
// метод получения суммы оплаты обучения
double GetPayment();
// метод изменения суммы оплаты обучения
void SetPayment(double);
// метод получения суммы долга
double GetCredit();
// метод уменьшения суммы долга
void DescCredit(double);
// метод сдать зачет
void SetTest(int, double);
// метод проверки допуска к экзаменационной сессии
bool PassedTests();
// метод проверки, сдана ли сессия
bool PassedExams();
// метод сдать экзамен
void SetExam(int, double);
// метод допуска к обучению в новой сессии
bool NextSession();
// метод распечатки информации о
93
Страницы
- « первая
- ‹ предыдущая
- …
- 91
- 92
- 93
- 94
- 95
- …
- следующая ›
- последняя »
