将本章11.8节中的程序片断加以补充完善。

将本章11.8节中的程序片断加以补充完善。在程序中使用继承和组合。在ios

定义Professor类对象prof1时给出全部数据的初值,而后修改profl的生日数据,最后ide

输出profl的所有最新数据spa

 

  
  
  
  
  1. #include<iostream>  
  2. #include<string>  
  3. using namespace std;  
  4.  
  5. class Teacher  
  6. {  
  7. public:  
  8.     Teacher(int n,string name,string s):num(n),name(name),sex(s){}  
  9.     void display()  
  10.     {  
  11.         cout<<"num:"<<num<<endl;  
  12.         cout<<"name:"<<name<<endl;  
  13.         cout<<"sex:"<<sex<<endl;  
  14.     }  
  15. private:  
  16.     int num;  
  17.     string name;  
  18.     string sex;  
  19. };  
  20.  
  21. class BirthDate  
  22. {  
  23. public:  
  24.     BirthDate(int y,int m,int d):year(y),month(m),day(d){}  
  25.     void change(int y,int m,int d)  
  26.     {  
  27.         year=y;  
  28.         month=m;  
  29.         day=d;  
  30.     }  
  31.     void display()  
  32.     {  
  33.         cout<<year<<"/"<<month<<"/"<<day<<endl;  
  34.     }  
  35. private:  
  36.     int year;  
  37.     int month;  
  38.     int day;  
  39. };  
  40. class Professor:public Teacher  
  41. {  
  42. public:  
  43.     Professor(int n,string name,string s,int y,int m,int d):Teacher(n,name,s), birthday(y,m,d){}  
  44.     void change(int y,int m,int d)  
  45.     {  
  46.         birthday.change(y,m,d);  
  47.     }  
  48.       
  49.     void display()  
  50.     {  
  51.         Teacher::display();  
  52.          birthday .display();  
  53.     }  
  54. private:  
  55.     BirthDate birthday;  
  56. };  
  57. int main()  
  58. {  
  59.     Professor p1(101,"李四","男",1992,3,13);  
  60.     p1.change(1990,4,7);  
  61.     p1.display();  
  62.