OJ 继承与组合
2015-06-16 12:45
357 查看
已知类如下:
(1) BirthDate(生日类) 含有:year,month,day 等数据成员
(2) Teacher(教师类)含有:num,name,sex 等数据成员
(3) Professor(教授类)含有:教师类和生日类的数据成员
要求:
(1)通过对Teacher和BirthDate使用继承和组合的方式设计Professor
(2)定义Professor类对象prof,并给出所有数据的初值
(3)修改prof的生日数据
(4)输出prof的全部最新数据
运行结果:
这个继承与组合 简直了
(1) BirthDate(生日类) 含有:year,month,day 等数据成员
(2) Teacher(教师类)含有:num,name,sex 等数据成员
(3) Professor(教授类)含有:教师类和生日类的数据成员
要求:
(1)通过对Teacher和BirthDate使用继承和组合的方式设计Professor
(2)定义Professor类对象prof,并给出所有数据的初值
(3)修改prof的生日数据
(4)输出prof的全部最新数据
Input
num,name,sex,year,month,day 和修改后的year,month,dayOutput
num,name,sex,year,month,day#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 y,int m,int d):year(y),month(m),day(d){} void BirthDate::display() { cout<<"birthday:"<<year<<"/"<<month<<"/"<<day<<endl; } void BirthDate::setbirthday(int y,int m,int d) { year=y; month=m; day=d; } 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 f):Teacher(n,nam,s),birthday(f){} void Professor::display() { Teacher::display(); birthday.display(); } void Professor::setbirthday(int y,int m,int d) { birthday.setbirthday(y,m,d); } 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; }
运行结果:
这个继承与组合 简直了
相关文章推荐
- 一个宏命令,就可以程序崩溃时生成dump文件
- 有关网页渲染,每个前端开发者都该知道的那点事
- Ajax个人理解2
- phonegap(cordova)文件上传(Java,PHP)
- 一个简单易懂的javascrip selection&range小案例
- SAT数学:考试允许使用计算器
- Mac office 2011 打开word有中文乱码问题解决
- MFC的对话框工具栏、状态栏、和菜单栏的编辑
- [Swust OJ 85]--单向公路(BFS)
- 平时易疏忽的java基础知识
- webservice java实现
- POJ 2586 Y2K Accounting Bug(枚举洪水问题)
- vs2010全局配置vld方法
- 【绿皮】新GRE填空补充练习题Exercise3
- 设置FTP账号
- strcpy_s与strcpy对照
- HBaseConvetorUtil 实体转换工具
- HBaseConvetorUtil 实体转换工具
- strcpy_s与strcpy对照
- 意义和公式的协方差