Ім'я файлу: ЛР1 Влад.Х.doc
Розширення: doc
Розмір: 66кб.
Дата: 18.12.2021
скачати


Звіти до лабораторних робіт

із дисципліни

“Моделювання та аналіз програмного забезпечення”

варіант № 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;

}

Student()

{

FirstName = "\0";

SecondaryName = "\0";

LastName = "\0";

Gender = '\0';

Faculty = "\0";

Group = 0;

}
public:

void Show()

{

cout << FirstName << endl;

cout << SecondaryName << endl;

cout << LastName << endl;

cout << Gender << endl;

cout << Group << endl;

cout << Faculty << endl;

}
friend ostream& operator<<(ostream& output, const Student& S)

{

output << "FirstName : " << S.GetFirstName() << " MiddleName : " \

<< S.GetMiddleName() << " LastName : " << S.GetLastName() << " Gender : " << S.GetGender() \

<< " Group : " << S.GetGroup() << " Faculty : " << S.GetFaculty();

return output;

}
friend istream& operator>>(istream& input, Student& S)

{

input >> S.FirstName >> S.SecondaryName >> S.LastName >> \

S.Gender >> S.Group >> S.Faculty;

return input;

}
string ToString() const

{

ostringstream ss;

ss << this->FirstName << this->SecondaryName << this->LastName << \

this->Gender << this->Group << this->Faculty;
return ss.str();

}
public:

void SetFirstName(std::string first_name)

{

FirstName = first_name;

}
void SetMiddleName(std::string middle_name)

{

SecondaryName = middle_name;

}
void SetLastName(std::string last_name)

{

LastName = last_name;

}
void SetGender(char gender)

{

Gender = gender;

}
void SetGroup(unsigned short group)

{

Group = group;

}
void SetFaculty(std::string faculty)

{

Faculty = faculty;

}
public:

std::string GetFirstName() const

{

return FirstName;

}
std::string GetMiddleName() const

{

return SecondaryName;

}
std::string GetLastName() const

{

return LastName;

}
char GetGender() const

{

return Gender;

}
unsigned short GetGroup() const

{

return Group;

}
std::string GetFaculty() const

{

return Faculty;

}

};
class Aspirant : public Student

{

public:

string Research;

string Coordinator;
public:

Aspirant() { };

Aspirant(const Aspirant& aspirant) { };

Aspirant(

string research_title,

string coordinator)

{

Research = research_title;

Coordinator = coordinator;

}
Aspirant()

{

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;

}

};



скачати

© Усі права захищені
написати до нас