C++继承与派生

本文介绍了面向对象编程中的继承与派生概念,通过实例演示了如何使用单继承创建学生类,以及多重继承实现教师兼干部类。实验强调了继承在设计中的重要性,有助于理解新类的创建过程。
摘要由CSDN通过智能技术生成

实验3 继承与派生

班级       学号      姓名 

[实验目的]

1、了解继承在面向对象程序设计中的重要作用; 

2、进一步理解继承与派生的概念;

3、学会通过继承派生出一个新类的方法。

[实验要求]

给出以下各实验内容的源程序代码,并把编译、运行过程中出现的问题以及解决方法填入实验报告中,按时上交。

[实验学时]2学时。

[实验内容]

  1. 声明一个人员类(Person ),包括3个数据成员:name(姓名)、age(年龄)、sex(性别);2个成员函数:构造函数和输出相关信息的函数display()。利用单继承的方式声明一个学生(Student)派生类,其中增加2个数据成员:grade(年级)、score(总学分);3个成员函数:构造函数、输出函数show()和增加学分的函数add()。在定义派生类对象时给出初始化的数据,然后输出这些数据。

2、分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求:

① 在两个基类中都包含姓名、出生日期(日期类Date的子对象)、性别、地址、电话等数据成员。

② 在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务), 在Teacher_Cadre类中还包含数据成员wages(工资)。

③ 对两个基类中的姓名、出生日期、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。

④ 在类体中声明成员函数,在类外定义成员函数。

⑤ 在派生类Teacher_Cadre的成员函数show()中调用Teacher类中的display()函数,输出姓名、出生日期、性别、职称、地址、电话,然后再用cout语句输出职务与工资。

[实验总结]给出对本次实验的总结。

本次实验让我了解继承在面向对象程序设计中的重要作用,同时进一步理解继承与派生的概念,并学会通过继承派生出一个新类的方法。

  • 16
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我可以为您介绍一下 C++继承派生的相关知识,并且给您一个定义 Employee 的示例代码。 在 C++ 中,继承是一种重要的面向对象编程技术,它允许我们在一个的基础上定义另一个。被继承称为基或父继承称为派生或子派生可以继承的成员变量和成员函数,并且还可以添加自己的成员变量和成员函数。 下面是一个定义 Employee 的示例代码: ```c++ // Employee 的定义 class Employee { public: Employee(string name, int age, string gender, double salary); virtual ~Employee(); virtual void display() const; protected: string name_; int age_; string gender_; double salary_; }; // Manager 的定义,它是 Employee 派生 class Manager : public Employee { public: Manager(string name, int age, string gender, double salary, string department); virtual ~Manager(); virtual void display() const; private: string department_; }; ``` 在上面的代码中,Employee 包含了一些基本的成员变量和成员函数,如姓名、年龄、性别和薪水,以及一个虚函数 display()。Manager 是 Employee 派生,它继承了 Employee 的所有成员变量和成员函数,并且添加了一个部门名称的成员变量 department_ 和一个重载了 display() 函数的成员函数。 请注意,Employee 的析构函数和 display() 函数都是虚函数,这是因为我们希望在派生中重载这些函数时能够正确地调用它们。 以上是一个简单的继承派生示例,希望能够帮助您更好地了解 C++ 中的面向对象编程技术。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光而不耀-2001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值