谭浩强课后习题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
