继承与多态2.1

/*1.定义一个人员类Person,包括姓名、编号、性别等数据成员和用于输入、输出的成员函数,
在此基础上派生出学生类Student类(增加成绩)和教师类Teacher(增加教龄),
并实现对学生和教师信息的输入和输出。*/

#include<iostream>
#include<string>


using namespace std;


class Person
{
private:
    string name;
    string id;
    string sex;
public:
    Person();
    Person(string name,string id,string sex);
    ~Person();
    void SetPerson(string name1,string id1,string sex1);
    void PrintPerson();

};


Person::Person()
{

}


Person::Person(string name1,string id1,string sex1)
{
    name = name1;
    id = id1;
    sex = sex1;
}

Person::~Person()
{
    cout << "Person Disconstruct" << endl;
}

void Person::SetPerson(string name1,string id1,string sex1)
{
    name = name1;
    id = id1;
    sex = sex1;
}

void Person::PrintPerson()
{
    cout << "名字:" << name << endl;
    cout << "ID:" << id << endl;
    cout << "性别:" << sex << endl;
}



class Teacher:public Person
{
private:
    int Teacher_age;
public:
    Teacher();
    Teacher(string name,string id,string sex,int age);
    ~Teacher();
    void SetTeacher_age(int age1);
    void PrintTeacher();
};


Teacher::Teacher(string name,string id,string sex,int age):Person(name,id,sex)
{
    name = name;
    id = id;
    sex = sex;
    Teacher_age = age;
}

Teacher::~Teacher()
{
    cout << "Teacher Discontruct" << endl;
}


void Teacher::SetTeacher_age(int age1)
{
    Teacher_age = age1;
}


void Teacher::PrintTeacher()
{
    Person::PrintPerson();
    cout << "年龄:" << Teacher_age << endl;
}

int main()
{
    Person A("wang","1606955051","女");
    A.SetPerson("王通","1606955059","男");
    A.PrintPerson();
    Teacher B("王老师","16069550000","男",20);
    B.SetTeacher_age(30);
    B.PrintTeacher();
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_38053395/article/details/79997731