C++习题 继承与组合
2014-06-03 17:34
453 查看
Problem C: C++习题 继承与组合
[Submit][Status][WebBoard]
Description
已知类如下:(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,day
Output
num,name,sex,year,month,day
Sample Input
2001 Huang m1970 1 11994 5 26
Sample Output
num:2001name:Huangsex:mbirthday:1994/5/26
HINT
#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 c) { num=n; name=nam; sex=c; } void Teacher::display() { cout<<"num:"<<num<<endl; cout<<"name:"<<name<<endl; cout<<"sex:"<<sex<<endl; } Professor::Professor(int n,string nam,char c,BirthDate day):Teacher(n,nam,c),birthday(day){} void Professor::display() { Teacher::display(); birthday.display(); } void Professor::setbirthday(int i,int m ,int n) { birthday.setbirthday(i,m,n); } 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; }
相关文章推荐
- [YTU]_2476(C++习题 继承与组合)
- ojC++习题 继承与组合
- c++习题1_F_继承与组合
- OJ第三批——Problem H:C++习题 继承与组合
- 『C/C++』C++中的继承和组合区别使用
- C++中的继承和组合区别使用
- 高质量C++/C编程指南 -- 第10章 类的继承与组合
- C++的新类创建:继承与组合
- in c++读后感--理解继承和组合
- C/C++日常学习总结(第四篇)共同基类产生的二义性和继承与组合的区别
- c++习题1_A_长方体继承自矩形
- 第十二周C++【任务4】类的组合与继承。
- 高质量C++/C编程指南 -- 第10章 类的继承与组合
- C++ 06 继承与组合 (has-a is-a) 以及类大小的计算 虚基类对内存模型的影响(不考虑虚函数)
- c++习题1_D_输入输出--保护继承
- C++ 编程思想——继承和组合
- 读书笔记-Thinking in C++-第14章 继承和组合
- C++第十二周【任务4】类的组合与继承
- 高质量C++/C编程指南 -- 第10章 类的继承与组合
- 《读java编程思想》 c++与java的不同(C++进阶 继承 组合 多态)