ACM--继承与组合

来源:互联网 发布:温州职业技术学院网络 编辑:程序博客网 时间:2024/04/25 15:37
/**程序的版权和版本声明部分:*Copyright(c)2013,烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:尚振伟*完成日期:2014年5月28日*版本号:v0.1*对任务及求解方法的描述部分:*输入描述:无*问题描述:(1) BirthDate(生日类) 含有:year,month,day 等数据成员(2) Teacher(教师类)含有:num,name,sex 等数据成员(3) Professor(教授类)含有:教师类和生日类的数据成员要求:(1)通过对Teacher和BirthDate使用继承和组合的方式设计Professor(2)定义Professor类对象prof,并给出所有数据的初值(3)修改prof的生日数据(4)输出prof的全部最新数据*程序输入:*程序输出:*问题分析:*算法设计:*我的程序:*/#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;};Professor::Professor(int n,string na,char s,BirthDate bdate):    Teacher(n,na,s),birthday(bdate) {}void Professor::display(){    Teacher::display();    birthday.display();}void Professor::setbirthday(int y2,int m2,int d2){   birthday.setbirthday(y2,m2,d2);}BirthDate::BirthDate(int y,int m,int d):year(y),month(m),day(d) {}void BirthDate::display(){    cout<<"birthday:"<<year<<"/"<<month<<"/"<<day<<endl;}void BirthDate::setbirthday(int y1,int m1,int d1){    year=y1;    month=m1;    day=d1;}Teacher::Teacher(int n,string na,char s):num(n),name(na),sex(s) {}void Teacher::display(){    cout<<"num:"<<num<<endl;    cout<<"name:"<<name<<endl;    cout<<"sex:"<<sex<<endl;}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;}


结果展示:

心得体会:在定义52行的时候遇到了一些小障碍,这回知道如何定义了。

0 0
原创粉丝点击