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 m
1970 1 1
1994 5 26

Sample Output

num:2001
name:Huang
sex:m
birthday:1994/5/26

HINT

前置代码及类型定义已给定如下,提交时不需要包含,会自动添加到程序前部

/* C++代码 */
#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;
};
主函数已给定如下,提交时不需要包含,会自动添加到程序尾部
/* 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;
}

【AC代码】:

Professor::Professor(int n,string na,char c,BirthDate day):Teacher(n,na,c),birthday(day){}
void Professor::display()
{Teacher::display();birthday.display();
}
void Professor::setbirthday(int i,int m ,int n)
{birthday.setbirthday(i,m,n);
}
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 na ,char c)
{num=n;name=na;sex=c;
}
void Teacher::display()
{cout<<"num:"<<num<<endl;cout<<"name:"<<name<<endl;cout<<"sex:"<<sex<<endl;}

YTU OJ 2476 C++习题 继承与组合相关推荐

  1. 习题 11.10 将本章11.8节中的程序片段加以补充完善,成为一个完整的程序。在程序中使用继承和组合。在定义Professor类对象prof1时给出所有数据的初值,然后修改prof1的生日数据。。。

    C++程序设计(第三版) 谭浩强 习题11.10 个人设计 习题 11.10 将本章11.8节中的程序片段加以补充完善,成为一个完整的程序.在程序中使用继承和组合.在定义Professor类对象pro ...

  2. C++编程进阶6(public继承与组合、private继承、多重继承、处理模板基类内的名称、如何避免模板代码膨胀)

    二十一.public继承与组合 public继承是是子类对象is a基类对象的关系,比如QT中的所有组件类都要继承QObject,所以所有的QT组件都是一个QObject. 而组合是has a(包含) ...

  3. java 继承 模型_java – 画布形状模型的继承与组合?

    对于以下模型,您更喜欢继承还是组合: >我想在画布上绘制对象,每个对象代表一个数据对象 >将其视为状态机图:椭圆表示状态,线表示它们之间的连接/转换.对象表示本身永远不会改变,即状态将始终 ...

  4. 详细分析如何在java代码中使用继承和组合

    文章目录 继承与组合 何时在Java中使用继承 何时在Java中使用组合 继承与组成:两个例子 用Java继承重写方法 Java不具有多重继承 使用super访问父类方法 构造函数与继承一起使用 类型 ...

  5. 用c语言实现单链表的初始化,建表,查找,求长度,插入,删除等操作,【YTU+2430+C语言习题+链表建立+插入+删除+输(5)...

    的打印.判断链表是否为空.计算链表长度.插入节点.删除节点.删除整个链表.(2) 线性表adt顺序存储实现中的创建.查找.插入和删除等基本操作及相关算法,线性表adt链式存储实现中单链表.循环链表和双 ...

  6. C++ 面向对象(一)继承:继承、对象切割、菱形继承、虚继承、继承与组合

    目录 继承 继承的概念 继承方式 基类与派生类的赋值转换 作用域与隐藏 派生类的默认成员函数 友元与静态成员 友元 静态成员 多继承 菱形继承 虚继承 继承和组合 什么是组合 如何选择组合和继承 继承 ...

  7. Scala入门到精通——第九节 继承与组合

    主要内容 类的继承 构造函数执行顺序 方法重写 匿名类 多态与动态绑定 组合与继承的使用 1 类的继承 下类的代码演示了Scala类的继承 //Person类 class Person(name:St ...

  8. 10玩rust_C++工程师的Rust迁移之路(5)- 继承与组合 - 下

    2020-11-25 更新: 修正了C++ 20中的concept语法 在上一篇文章 https://zhuanlan.zhihu.com/p/76740667 中,我介绍多态.静态分发和动态分发的概 ...

  9. java 继承 实现 会重写 方法吗_java 中继承,组合,重载,重写的实现原理 (转)...

    我们知道,继承,组合,重载,重写是java语言的面向对象实现的基本特征. 那么在java内部,究竟是如何实现这些面对对象的基本特征的呢? 继承和组合是面向对象中代码复用的主要实现方式,他们可以达到类似 ...

  10. 【设计模式之美】<Reading Notes>继承与组合

    继承缺点 继承是面向对象的四大特性之一,用来表示类之间的 is-a 关系,可以解决代码复用的问题.虽然继承有诸多作用,但继承层次过深.过复杂,也会影响到代码的可维护性.在这种情况下,我们应该尽量少用, ...

最新文章

  1. ICLR2020 | StructBERT : 融合语言结构的BERT模型
  2. 涨点技巧!汇集13个Kaggle图像分类项目的性能提升指南
  3. .attr()与.removeAttr()
  4. 检查 Linux 服务器性能
  5. 博客文章列表(一)——JAVA
  6. 为什么人们认为区块链是大忽悠?
  7. kylin版本_kylin多维数据分析(一)单机部署
  8. 每周荐书:MyBatis、并行编程、Ansible(评论送书)
  9. win10安装影子系统,导致电脑无限蓝屏,解决总结
  10. 安装roboware
  11. java去掉标点符号_java去除空格、标点符号的方法实例
  12. MATLAB图像处理识别商品条形码、图像分割
  13. AxureRP和Markman新手入门心得
  14. 超长干货!最全数据指标分析!
  15. C#调用obs studio 二次开发 源码分析 编译
  16. 对于编程:要么热爱,要么离开
  17. 1-5分钟上手自动化测试——Airtest+Poco快速上手
  18. js 百度地图标记定位(一)
  19. mysql触发器作用,好处和curl
  20. 不是抽象类的基类不是好基类

热门文章

  1. 英语四六级考试技巧/英语四六级真题
  2. 《Effective C++》 目录
  3. 【Nginx之轨迹】Nginx + Lua 实现 waf Web 应用防火墙(解决 nignx 加载失败问题:LuaJIT version which is not OpenResty‘s)
  4. CSDN情感倾向分析API——功能测试——全流程演示
  5. android 半圆型菜单,Android-自定义view之圆形与“半圆形”菜单
  6. Qt添加分割线(很简单的方法)
  7. CTS2019朝圣 x 打铁记
  8. 5-8 哈利·波特的考试 (25分)
  9. [BZOJ3503]-[CQOI2014]和谐矩阵-高斯消元
  10. Texstudio安装后闪退|重装系统Windows10|texstudio2022