[YTU]_2476(C++习题 继承与组合)
来源:互联网 发布:淘宝联盟是返利最多的 编辑:程序博客网 时间:2024/06/04 19:19
题目描述
已知类如下:
(1) BirthDate(生日类) 含有:year,month,day 等数据成员
(2) Teacher(教师类)含有:num,name,sex 等数据成员
(3) Professor(教授类)含有:教师类和生日类的数据成员
要求:
(1)通过对Teacher和BirthDate使用继承和组合的方式设计Professor
(2)定义Professor类对象prof,并给出所有数据的初值
(3)修改prof的生日数据
(4)输出prof的全部最新数据
输入
num,name,sex,year,month,day 和修改后的year,month,day
输出
num,name,sex,year,month,day
样例输入
2001 Huang m1970 1 11994 5 26
样例输出
num:2001name:Huangsex:mbirthday:1994/5/26#include <iostream>using namespace std;class Rectangle //矩形类{private: int length; //矩形的长和宽 int width;public: Rectangle(); Rectangle(int l,int w); //构造函数,l、w分别代表长和宽 int getArea(); //求面积}; class Bulk: public Rectangle //立方体类{public: Bulk(); //默认构造函数 Bulk(int l, int w,int h); //带参数的构造函数 int getVolume();private: int height; //高,长、宽继承自基类};Rectangle::Rectangle(){}Rectangle::Rectangle(int l,int w):length(l),width(w){}int Rectangle::getArea(){ return length*width;}Bulk::Bulk(){}Bulk::Bulk(int l,int w,int h):Rectangle(l,w),height(h){}int Bulk::getVolume(){K#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::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<<"name:"<<name<<endl<<"sex:"<<sex<<endl;}Professor::Professor(int n,string nam,char s,BirthDate BIR):Teacher(n,nam,s),birthday(BIR){}void Professor::setbirthday(int y,int m,int d){ birthday.BirthDate::setbirthday(y,m,d);}void Professor::display(){ Teacher::display(); birthday.BirthDate::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
- [YTU]_2476(C++习题 继承与组合)
- YTU-OJ-继承与组合
- [YTU]_2476(E3 继承了,成员函数却不可访问)
- ojC++习题 继承与组合
- C++习题 继承与组合
- c++习题1_F_继承与组合
- [YTU]_2445(C++习题 输入输出--公用继承)
- [YTU]_2446( C++习题 输入输出--私有继承)
- [YTU]_2474( C++习题 输入输出--保护继承)
- [YTU]_2475( C++习题 多重继承)
- 继承与组合 C++(五)
- YTU 2414: C语言习题 字符串排序
- YTU 2416: C语言习题 成绩输出
- YTU 2426: C语言习题 字符串排序
- YTU 2427: C语言习题 整数排序
- YTU 2417: C语言习题 字符串长度
- YTU 2424: C语言习题 字符串比较
- YTU 2425: C语言习题 输出月份
- git同步代码出现的问题
- 在w3c学习angular2遇到的问题
- 自动补全文本框
- mysql 中union和union的区别和使用方法
- HTTP协议状态码详解(HTTP Status Code)
- [YTU]_2476(C++习题 继承与组合)
- nfs
- [YTU]_2476(E3 继承了,成员函数却不可访问)
- android文件存储的4种方式
- retrofit2.0中自定义转换器使用,通用啊
- HashMap实现原理分析
- [poj1741] Tree 点分
- [YTU]_2635(P4 游戏中的Human角色)
- idea中JSP模板{头信息}的设置方法