C++实验5-多继承

一、问题及代码

/*
文件名称:教师干部类
作者    :尚超
日期    :2016.5.11
平台    :visual c++ 6.0
对任务及求解方法的描述部分:
* 输入描述:
* 问题描述:分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。
* 程序输出: 略
* 问题分析: 略
* 算法设计: 略
*/
#include<iostream>
#include<string>
using namespace std;
class Teacher
{
public:
    Teacher(string,int,string,string);
    void display();
private:
    string name;
    int age;
    string sex;
    string title;
};
Teacher::Teacher(string na,int a,string s,string ti)
{
    name=na;
    age=a;
    sex=s;
    title=ti;
}
void Teacher::display()
{
    cout<<"姓名:"<<name<<endl;
    cout<<"年龄:"<<age<<endl;
    cout<<"性别:"<<sex<<endl;
    cout<<"职称:"<<title<<endl;
}
class Cadre
{
public:
    Cadre(string);
    string get_post();
private:
    string name;
    int age;
    string sex;
    string post;
};
Cadre::Cadre(string p)
{
    post=p;
}
string Cadre::get_post()
{
    return post;
}
class Teacher_Cadre:public Teacher,public Cadre
{
public:
    Teacher_Cadre(string ,int ,string ,string ,string ,float );
    void show();
    float get_wages();
private:
    float wages;
};
Teacher_Cadre::Teacher_Cadre(string na,int a,string s,string ti,string p,float w):Teacher(na,a,s,ti),Cadre(p)
{
    wages=w;
}
void Teacher_Cadre::show()
{
    Teacher::display();
}
float Teacher_Cadre::get_wages()
{
    return wages;
}  

int main()
{
    Teacher_Cadre T("曾辉",42,"男","副教授","主任",1535.5);
    T.show();
    cout<<"职称:"<<T.Cadre::get_post()<<endl;
    cout<<"工资:"<<T.get_wages()<<endl;
    return 0;
}  

二、运行结果

三、心得体会

四、知识点总结

时间: 2024-10-17 10:07:01

C++实验5-多继承的相关文章

C++第四次实验——派生和继承1

一.问题及代码: /* * 文件名称:c++第四次实验--派生和继承1.cpp * 作 者:郭宇辉 * 完成日期:2016年 4 月 25 日 --草稿 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:根据一声明好的类及测试函数完成成员函数. * 输入描述:无 * 问题描述: * 程序输出:略 * 问题分析:略 * 算法设计:略 */ #include<iostream> #include<string> using namespace std; class Stu //

java实验六(继承、接口、异常相关知识点)

定义一个学生类,定义一个大学生类和小学生类,这两个类是学生类的子类:定义一个选课接口,由大学生类实现该接口,并定义一个年龄异常处理,当小学生 年龄小于7岁时,弹出异常. import java.util.Scanner; interface XuanKe        //选课接口{    void xuanKe(String xuanke);} class AgeException extends Exception{    String message; AgeException(int a

【TOJ 5253】C++实验:多继承

描述 定义以下类: 1个CPerson类,其属性有:姓名.性别和年龄. 2.从CPerson类派生出CStudent类,增加属性:学号.入学时间和入学成绩: 3.从CPerson类派生出CTeacher类,添加属性:职务.部门和工作时间: 4.由CStudent类派生出CGraduate类,添加属性:研究方向和导师: 5.由CGraduate和CTeacher共同派生出在职研究生类CGradonWork: 6.CDate为日期类. 每个类定义一个Print函数,输出其属性值,输出见样例. 主函数

实验6,继承

//7.1#include<iostream> using namespace std; class Total{ public: Total(int i,int j){ cout<<"* constructor is called"<<endl; n=i; m=j; } Total(){ cout<<"* constructor is called"<<endl; n=0; m=0; } Total(To

第七讲继承与接口动手实验和动手动脑

[动手实验一] 继承条件下的构造方法调用 运行 TestInherits.java示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是否是第一句,影响重大! 结论:通过 super 调用基类构造方法,必须是子类构造方法中的第一个语句. TestInherits.java class Grandparent { public Grandparent() { System.out.println("

第44课 继承中的访问级别

1. 值得思考的问题 (1)根据面向对象的理论:子类拥有父类的一切属性和行为,子类能够直接访问父类的私有成员! (2)但C++语法规定,外界不能直接访问类的private成员,所以子类也不能直接访问父类的私有成员! 2. 继承中的访问级别 (1)面向对象中的访问级别不只是public和private (2)可以定义protected访问级别 (3)关键字protected的意义 ①修饰的成员不能被外界直接访问 ②修饰的成员可以被子类直接访问 [编程实验]组合和继承的综合实例 #include <

动手动脑之继承与接口

?动手实验一:继承条件下的构造方法调用 运行 TestInherits.java 示例 package demo; class Grandparent { public Grandparent() { System.out.println("GrandParent Created."); } public Grandparent(String string) { System.out.println("GrandParent Created.String:" + s

C++实验5

一.问题及代码 分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部).要求: (1)在两个基类中都包含姓名.年龄.性别等数据成员. (2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资). (3)对两个基类中的姓名.年龄.性别等数据成员用相同的名字,在引用这些数据成员时,指定作用域. (4)在类体中声

第六次学习总结&amp;&amp;第四次实验总结

Java实验报告 班级 1班 学号 20188390 姓名 宋志豪 实验四 类的继承 1.实验目的 (1)掌握类的继承方法: (2)变量的继承和覆盖,方法的继承.重载和覆盖实现: 2.实验内容 实验代码 package 继承; import java.io.InputStream; import java.util.Scanner; class Circle{ private double radius; public Circle() { this.radius=0; } public Cir

继承知识总结

继承知识总结 继承 定义:所谓继承就是从先辈处得到属性和行为特征. 类的继承,是从新的类从已有类那里得到已有的特性. 继承的好处:解决了代码的重用性和可扩充性. 继承的方式 公有继承 当类的继承方式为公有继承时,基类的公有成员和保护成员的访问属性在派生类中不变,而基类的私有成员不可直接访问. 基类的公有成员和保护成员被继承到派生类中访问属性不变.仍作为派生类的公有成员. 无论是派生类的成员还是派生类的对线都无法直接访问基类的私有成员. 运行结果如下: 私有继承 当类的继承方式为私有继承时,基类中