定义一个teacher(教师)类和一个student(学生)类,二者有一份数据成员是相同的,例如num,name,sex。编写程序,将一个student对象(学生)转换为teacher(教师)类,

mac2026-05-02  14

谭浩强课后习题4_7 定义一个teacher(教师)类和一个student(学生)类,二者有一份数据成员是相同的,例如num,name,sex。编写程序,将一个student对象(学生)转换为teacher(教师)类,只将以上3个相同的数据成员移植过去。可以设想为:一个学生大学毕业了,留校担任教师,他原有的部分数据对现在的教师身份来说仍然是有用的,应当保留并成为其教师的数据的一部分。

# include <iostream> # include <string> using namespace std; class Student { public:    Student (int n,string na,string s):num(n),name(na),sex(s){};   void display()   {     cout<<"student:"<<endl;     cout<<num<<endl;     cout<<name<<endl;     cout<<sex<<endl;    }     int num;     string name;     string sex; }; class Teacher  { private:     int num;     string name;     string sex;     string add;//地址 public:     Teacher (int n,string na,string s,string a){num=n;name=na;sex=s;add=a;}     Teacher (Student & s)//转换构造函数     {         num=s.num;         name=s.name;         sex=s.sex;     }     void ADD(string a)     {         add=a;         } void  display() {     cout<<"TEACHER:"<<endl;     cout<<num<<endl;     cout<<name<<endl;     cout<<sex<<endl;     cout<<add<<endl; } }; int main() {     Student t(111,"小明","男");     t.display();     Teacher s=Teacher(t);     s.ADD("武汉");     s.display();     return 0; }

程序运行结果:

———————————————— 版权声明:本文为博主「麦克MAKE」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/CINTRYcintry/article/details/102869581

最新回复(0)