第10题

#include <iostream>

#include <cstring>

using namespace std;

class Teacher                                //教师类

 {public:

  Teacher(int,char [],char);               //声明构造函数

    void display();                          //声明输出函数

  private:

   int num;

   char name[20];

   char sex;

  };

 

Teacher::Teacher(int n,char nam[],char s)    //定义构造函数

 {num=n;

  strcpy(name,nam);

  sex=s;

}

 

void Teacher::display()                      //定义输出函数

 {cout<<"num:"<<num<<endl;

  cout<<"name:"<<name<<endl;

  cout<<"sex:"<<sex<<endl;

}

 

class BirthDate                               //生日类

 {public:

    BirthDate(int,int,int);                   //声明构造函数

    void display();                           //声明输出函数

    void change(int,int,int);                 //声明修改函数

  private:

    int year;

    int month;

    int day;

};

 

BirthDate::BirthDate(int y,int m,int d)       //定义构造函数

 {year=y;

  month=m;

  day=d;

 }

 

void BirthDate::display()                     //定义输出函数

 {cout<<"birthday:"<<month<<"/"<<day<<"/"<<year<<endl;}

 

void BirthDate::change(int y,int m,int d)     //定义修改函数

 {year=y;

  month=m;

  day=d;

 }

 

class Professor:public Teacher                         //教授类

 {public:

    Professor(int,char [],char,int,int,int,float);    //声明构造函数

    void display();                                   //声明输出函数

    void change(int,int,int);                         //声明修改函数

   private:

    float area;

    BirthDate birthday;                               //定义BirthDate类的对象作为数据成员

 };

 

Professor::Professor(int n,char nam[20],char s,int y,int m,int d,float a):

 Teacher(n,nam,s),birthday(y,m,d),area(a){ }          //定义构造函数

 

void Professor::display()                             //定义输出函数

{Teacher::display();

 birthday.display();

 cout<<"area:"<<area<<endl;

}

 

void Professor::change(int y,int m,int d)             //定义修改函数

 {birthday.change(y,m,d);

 }

 

int main()

{Professor prof1(3012,"Zhang",'f',1949,10,1,125.4);   //定义Professor对象prof1

 cout<<endl<<"original data:"<<endl;

 prof1.display();                                     //调用prof1对象的display函数

 cout<<endl<<"new data:"<<endl;

 prof1.change(1950,6,1);                              //调用prof1对象的change函数

 prof1.display();                                     //调用prof1对象的display函数

 return 0;

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值