C++第五次实验-------多继承

一、问题及代码

[cpp] view plain copy
/*
* 文件名称: duojiicheng
* 作    者:夏廷辉
* 完成日期:     2016 年   5  月  8  日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:无
* 输入描述:  无
* 问题描述: 多继承
* 程序输出:  略
* 问题分析: 略
* 算法设计:  略
*/
#include<string>
#include <iostream>
using namespace std;
class Teacher
{
public:
    Teacher(string nam,int a,string s,string tit);
    void display();
protected:
    string name;
    int age;
    string sex;
    string title;
};    

Teacher::Teacher(string nam,int a,string s,string tit):
    name(nam),age(a),sex(s),title(tit) { }    

void Teacher::display()
{
    cout<<"姓名:"<<name<<endl;
    cout<<"年龄:"<<age<<endl;
    cout<<"性别:"<<sex<<endl;
    cout<<"职称:"<<title<<endl;
}    

class Cadre
{
public:
    Cadre(string nam,int a,string s,string p);
    void display();
protected:
    string name;
    int age;
    string sex;
    string post;
};    

Cadre::Cadre(string nam,int a,string s,string p):
    name(nam),age(a),sex(s),post(p) {}    

void Cadre::display()
{
    cout<<"姓名:"<<name<<endl;
    cout<<"年龄:"<<age<<endl;
    cout<<"性别:"<<sex<<endl;
    cout<<"职称:"<<post<<endl;
}    

class Teacher_Cadre:public Teacher,public Cadre
{
public:
    Teacher_Cadre(string nam,int a,string s,string tit,string p,float w);
    void show( );
private:
    float wage;
};    

Teacher_Cadre::Teacher_Cadre(string nam,int a,string s,string t,string p,float w):
    Teacher(nam,a,s,t),Cadre(nam,a,s,p),wage(w) {}    

void Teacher_Cadre::show( )
{
    Teacher::display();
    cout<<"职称:"<<Cadre::post<<endl;
    cout<<"薪水:"<<wage<<endl;
}    

int main( )
{
    Teacher_Cadre te_ca("曾辉",42,"男","副教授","主任",1534.5);
    te_ca.show( );
    return 0;
}    

二、运行结果

三、心得体会

进行多继承的程序设计时,概念有点混乱,看书后才有所理解,所谓多继承是指派生类具有多个基类,派生类与每个基类之间的关系仍可看作是一个单继承。

四、知识点总结

多继承同单继承一样,多继承构造派生类的对象时,也需要对基类的数据成员、对象的数据成员和新增数据成员进行初始化工作。

时间: 2024-10-16 04:22:19

C++第五次实验-------多继承的相关文章

java第五次实验报告

20144303<Java程序设计>第五次实验 一.实验要求 运行TCP代码,一人服务器,一人客户端 下载加解密代码,先编译运行代码,一人加密一人解密 集成代码,一人加密后通过TCP 发送,加密使用DES或AES,AES或DES加密密钥Key的发送,使用服务器的公钥加密,公钥算法用RSA或者DH 二.实验步骤 这次实验我和石宇森结对编程,我负责设计客户端的部分. 先获取本机的IP地址,输入cmd,然后输入ipconfig. 客户端代码如下: package net; import java.m

实验6 继承

一.实验目的与要求: 复习运算符重载并应用. 了解并掌握通过继承派生出一个新的类的方法. 二.实验过程: 完成实验6继承中A-C三道题,见:http://acm.hpu.edu.cn/contest.php?cid=1018,密码:c++06.将答题过程简单记录到实验过程中. 将答题结果写到实验结果中,并根据答题结果进行分析.反思,将其写到实验分析中,并写上实验时间. 请按以上要求认真填写实验报告.

实验五存储管理实验

实验五存储管理实验 一.        实验目的 连续内存分配方式会形成许多“碎片”,虽然可以通过“紧凑”方法将许多碎片拼接成可用的大块空间,但须为之付出很大开销.如果允许将一个进程直接分散地装入到许多不相邻接的分区中,则无需再进行“紧凑”.基于这一思想而产生了离散分配方式. 如果离散分配的基本单位是页,则称为分页存储管理方式:如果离散分配的基本单位是段,则称为分段存储管理方式. 在分页存储管理方式中,如果不具备页面兑换功能,则称为基本的分页存储管理方式,或称为纯分页存储管理方式,它不具备支持虚

20165210 Java第五次实验报告

20165210 实验五 网络编程与安全 网络编程与安全一: 实验要求: 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java 上传测试代码运行结果截图和码云链接 实验截图: 网络编程与安全二: 实验要求: 结对编程:1人负责客户端,一人负责服务器 注意责任归宿,要会通过测试证明自己

实验六 继承定义与使用

实验六 继承定义与使用 实验时间 2018-9-28 1.实验目的与要求 (1) 理解继承的定义: (2) 掌握子类的定义要求 (3) 掌握多态性的概念及用法: (4) 掌握抽象类的定义及用途: (5) 掌握类中4个成员访问权限修饰符的用途: (6) 掌握抽象类的定义方法及用途: (7)掌握Object类的用途及常用API: (8) 掌握ArrayList类的定义方法及用法: (9) 掌握枚举类定义方法及用途. 2.实验内容和步骤 实验1: 导入第5章示例程序,测试并进行代码注释. 测试程序1:

201771010124 王海珍 《实验六 继承定义与使用》第六章实验总结

第一部分:理论知识学习部分 第五章 第五章学习内容主要分为七个模块,分别为: 1.类.超类和子类: a. 类继承的格式: class 新类名extends已有类名. b. 已有类称为:超类(superclass).基类(base class) 或父类(parent  class) 新类称作:子类(subclass).派生类(derived  class)或孩子类(child class) c.super是一个指示编译器调用超类方法的特有关键字,它不是一个对象的引用,不能将super赋给另一个对象

Linux基础入门(新版)(实验五至实验八)

实验五 环境变量与文件查找 (环境变量的作用与用法,及几种搜索文件的方法) 一.环境变量 1.变量 (1)常变量与值是一对一的关系 (2)变量的作用域即变量的有效范围(比如一个函数中.一个源文件中或者全局范围),在该范围内只能有一个同名变量.一旦离开则该变量无效,如同不存在这个变量一般. 这里是一个例子: declare命令创建一个变量名为 tmp 的变量: $ declare tmp 使用=号赋值运算符为变量 tmp 赋值为 shiyanlou:$ tmp=shiyanlou 读取变量的值,使

JavaScript 五种(构造方式)继承

一.对象冒充 function Parent(username){ this.username = username; this.hello = function(){ alert(this.username); } } function Child(username,password){ //通过以下3行实现将Parent的属性和方法追加到Child中,从而实现继承 //第一步:this.method是作为一个临时的属性,并且指向Parent所指向的对象, //第二步:执行this.metho

2019JAVA第五周实验报告

Java实验报告 班级 计科二班 学号 20188442 姓名 吴怡君 完成时间 2019.9.24 评分等级 实验三 String类的应用 一.实验目的 掌握类String类的使用: 学会使用JDK帮助文档: 二.实验内容 1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码.结果截图.) 2.统计该字符串中字母s出现的次数. 3.统计该字符串中子串"is"出现的次数. 4.统计该字符串中单词"is"