/*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;
}
继承与多态2.1
最新推荐文章于 2024-04-02 00:00:00 发布