ACM继承与组合

来源:互联网 发布:网络优化方案 分布式 编辑:程序博客网 时间:2024/04/24 21:15
#include <iostream>#include <string>using namespace std;class BirthDate{public:    BirthDate(int,int,int);    void display();    void setbirthday(int,int,int);private:    int year;    int month;    int day;};class Teacher{public:    Teacher(int,string,char);    void display();private:    int num;    string name;    char sex;};class Professor:public Teacher{public:    Professor(int,string,char,BirthDate);    void display();    void setbirthday(int,int,int);private:    BirthDate birthday;};//主函数已给定如下,提交时不需要包含,会自动添加到程序尾部/* C++代码 */BirthDate::BirthDate(int y,int m,int d):year(y),month(m),day(d){}void BirthDate::setbirthday(int y,int m,int d){    year=y;    month=m;    day=d;}void BirthDate::display(){    cout<<"birthday:"<<year<<"/"<<month<<"/"<<day<<endl;}Teacher::Teacher(int n,string nam,char s):num(n),name(nam),sex(s){}void Teacher::display(){    cout<<"num: "<<num<<endl;    cout<<"name: "<<name<<endl;    cout<<"sex: "<<sex<<endl;}Professor::Professor(int n,string nam,char s,BirthDate b):Teacher(n,nam,s),birthday(b){}void Professor::setbirthday(int y,int m,int d){    birthday.setbirthday(y,m,d);}void Professor::display(){    Teacher::display();    birthday.display();}int main(){    int num;    string name;    char sex;    int year,month,day;    cin>>num>>name>>sex;    cin>>year>>month>>day;    Professor prof(num,name,sex,BirthDate(year,month,day));    cin>>year>>month>>day;    prof.setbirthday(year,month,day);    prof.display();    return 0;}


 

0 0