Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
2.1 kB
4
Indexable
Never
#include <iostream>
using namespace std;

//Определить класс Human, который содержит такие поля (члены класса): имя, фамилию и возраст,
// публичные – методы ввода данных и отображения их на экран. Определить класс Pupil, который содержит такие
// поля (члены класса): имя, фамилию, возраст, класс, номер школы и средний бал. Публичные – методы ввода данных и
// отображения их на экран. Объявить два объекта класса, внести данные и показать их.
//
//*
//Сделать конструктор по умолчанию и конструктор с помощью инициализатора

class Human{
private:
    string name;
    string surname;
    int age;

public:
    Human() :name("Oleg"), surname("Sidorov"), age(0){ }

    Human(string name, string surname, int age): name(name), surname(surname), age(age){ }

    void get_data(){
        cout << this->name << endl << this->surname << endl << this->age << endl;
    }
};


class Pupil{
private:
    Human someone;
    int num_of_school;
    int average;

public:
    Pupil() : someone(), num_of_school(0), average(0){ }

    Pupil(string name, string surname, int age, int num_of_school, int average):
                                someone(name, surname, age), num_of_school(num_of_school), average(average){ }

    void get_data(){
        this->someone.get_data();
        cout << num_of_school << endl;
        cout << average << endl;
    }
};


int main() {
    Human basic;
    Human Alex("Alex", "Smirnov", 20);

    Pupil basic_pupil;
    Pupil pupil_Alex = Pupil("Alex", "Smirnov", 20, 195, 5);

    Alex.get_data();
    cout << endl;

    basic.get_data();
    cout << endl;


    pupil_Alex.get_data();
    cout << endl;


    basic_pupil.get_data();
    cout << endl;
}