Aspirant()Звіти до лабораторних робіт із дисципліни “Моделювання та аналіз програмного забезпечення” варіант № 8 Завдання до ЛР1. Вариант 8. Создать базовый класс Student, который будет содержать информацию о студенте (фамилия, курс обучения, номер зачетной книги). С помощью механизма наследование реализовать класс Aspirant (аспирант – студент, который готовится к защите кандидатской диссертации). Класс Aspirant есть производным от класса Student. В классах Student и Aspirant необходимо реализовать следующие элементы: • конструкторы классов с соответствующим количеством параметров. В классе Aspirant для доступа к методам класса Student нужно использовать ключевое слово base; • свойства get/set для доступа к полям класса; • метод Print(), который выводит информацию о содержимом полей класса. Для класів, що знаходяться у зв’язку наслідування. Показати реалізацію: - перевантаження методів; - приховання батьківської властивості - перевизначення батьківського методу; - приховання батьківського методу. - створення абстрактного класу; - створення абстрактного та віртуального методу. Результат работы #include #include #include #include using namespace std; int main() {} class Student { public: string FirstName; string SecondaryName; string LastName; char Gender; int Group; string Faculty; public: Student() { }; Student( string first_name, string secondary_name, string last_name, string faculty, char gender, unsigned short group ) { FirstName = first_name; SecondaryName = secondary_name; LastName = last_name; Gender = gender; Group = group; Faculty = faculty; } { Research = "\0"; Coordinator = "\0"; } public: void Show() { cout << Research << endl; cout << Coordinator << endl; } friend ostream& operator<<(ostream& output, const Aspirant& A) { output << "Research : " << A.GetResearchTitle() << " Coordinator : " << A.GetCoordinator(); return output; } friend istream& operator >> (istream& input, Aspirant& A) { input >> A.Research >> A.Coordinator; return input; } string ToString() const { ostringstream ss; ss << this->Research << this->Coordinator; return ss.str(); } public: void SetFirstName(string research_title) { Research = research_title; } void SetMiddleName(string coordinator) { Coordinator = coordinator; } public: string GetResearchTitle() const { return Research; } string GetCoordinator() const { return Coordinator; } }; |