ojC++习题 继承与组合

来源:互联网 发布:妮维雅 防晒 知乎 编辑:程序博客网 时间:2024/05/16 02:02
/**Corpyright (c)2013,烟台大学计算机学院*All right reseved.*作者:张梦佳*完成日期:2014年4月27日*版本号:v1.0*输入描述:*问题描述:*程序输出:*问题分析:*算法设计:*/#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;};//主函数已给定如下,提交时不需要包含,会自动添加到程序尾部BirthDate::BirthDate(int a,int b,int c):year(a),month(b),day(c){}void BirthDate::display(){    cout<<"birthday"<<":"<<year<<"/"<<month<<"/"<<day<<endl;}void BirthDate::setbirthday(int a,int b,int c){    year=a;    month=b;    day=c;}Teacher::Teacher(int a,string b, char c):num(a),name(b),sex(c){}void Teacher::display(){    cout<<"num:"<<num<<endl;    cout<<"name:"<<name<<endl;    cout<<"sex:"<<sex<<endl;}Professor::Professor(int a,string b,char c,BirthDate d):Teacher(a,b,c),birthday(d){}void Professor::display(){    Teacher::display();    birthday.display();}void Professor::setbirthday(int a,int b,int c){    birthday.setbirthday(a,b,c);}/* C++代码 */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