c++第五次上机实验

上机内容:多重继承派生类的使用

上机目的:掌握多重继承

/*   
* 文件名称:教师干部类  
* 作    者:王泽文 
* 完成日期:2016年5月6日   
* 版 本 号:v1.0   
* 对任务及求解方法的描述部分:  
* 输入描述:    
* 问题描述:   
* 程序输出:    
* 问题分析:   
* 算法设计:    
*/      
#include <iostream>    
#include <string>    
using namespace std;   
class Teacher  
{  
public:  
    Teacher(string na,int a,string s,string ti);  
    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<<"年龄:"<<age<<endl<<"性别:"<<sex<<endl<<"职称:"<<title<<endl;  
}  
class Cadre  
{  
public:  
    Cadre(string po);  
    string post;  
private:  
    string name;  
    int age;  
    string sex;  
};  
Cadre::Cadre(string po)  
{  
    post=po;  
}  
class Teacher_Cadre:public Teacher,public Cadre  
{  
public:  
    Teacher_Cadre(string na,int a,string s,string ti,string po,double wa);  
    void show();  
private:  
    double wages;  
};  
Teacher_Cadre::Teacher_Cadre(string na,int a,string s,string ti,string po,double wa):Teacher(na,a,s,ti),Cadre(po)  
{  
    wages=wa;  
}  
void Teacher_Cadre::show()  
{  
    display();  
    cout<<"职务:"<<post<<endl<<"工资:"<<wages<<endl;  
}  
void main()  
{  
    Teacher_Cadre p1("曾辉",42,"男","副教授","主任",1534.5);  
    p1.show();  
}  
运行结果:



心得体会:继承方式与多继承不同

知识点总结:多重继承基类构造函数的使用

1、抽象类与操作符重载 定义表示形状的抽象类及相应的派生类,并实现相关操作符重载。 (1)定义表示形状的抽象类Shape: 添加公有成员函数double Area(),用于计算形状面积;定义为纯虚函数; 添加公有成员函数void Show(),用于显示形状信息,定义为纯虚函数; 定义虚的析构函数; 重载比较操作符:==、>和<,用于比较两个形状面积的大小关系,返回值类型为bool,可以定义为成员函数或友元函数。 、、、、、、 2、虚函数 利用虚函数实现多态: (1)设计Person类,要求具有用于表示姓名的保护数据成员:string szName; 实现信息打印的公有成员函数:void Print()。其中,Print函数设计为虚函数,输出的信息格式为:“Person 姓名”。 、、、、、、 3、操作符重载 定义有理数类(分母不为0的分数,分子分母均为整数)Rational,实现相应操作符的重载。 (1)定义私有数据成员:分子int iUp; 分母 int iDown。 (2)定义私有成员函数:void Reduce() 和 int Gcd(int l, int r),分别用于有理数的约简和求两个整数的最大公约数。其中,在约简时需要求取分子与分母的最大公约数。 、、、、、、 4、记录文件的读写操作 源数据文件(文本格式)中包含有每个学生的记录:ID(身份识别号)、 Gender(性别)、 Birthday(生日)和EnrollmentDate(入学时间),字段之间以半角逗号分隔,记录之间以换行符分隔。要求从源数据文件中读取学生记录并删除重复记录,然后根据ID大小对所有记录按从小到大排序,将排序后的记录保存到目标文件中并同时输出到屏幕上。 、、、、、、 5、简单文本文件的读写 、、、、、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值