多重继承教师类和干部类
来源:互联网 发布:licecap mac下载 编辑:程序博客网 时间:2024/04/29 17:10
/* Copyright (c) 2012, 烟台大学计算机学院* All rights reserved.* 文件名称:text.cpp* 作 者: 胡颖*完成日期:2013年6月4日* 版 本 号:v1.0**输入描述:*问题描述:分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求:(1)在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。(2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资)。(3)对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。(4)在类体中声明成员函数,在类外定义成员函数。(5)在派生类Teacher_Cadre的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别、职称、地址、电话,然后再用cout语句输出职务与工资。* 程序输出:* 问题分析:* 算法设计:略*/#include <iostream>using namespace std;//定义Teacher(教师)类class Teacher{public: Teacher(string nam,int a,char s, string ad,string tit,string tele); void display();protected: //Teacher类中包含姓名、年龄、性别、地址、职称、电话数据成员 string name; int age; char sex; string adress; string title; string telephone;};Teacher::Teacher(string nam,int a,char s, string ad,string tit,string tele): name(nam),age(a),sex(s),adress(ad),title(tit),telephone(tele) {}void Teacher::display(){ cout<<"name:"<<name<<endl; cout<<"age:"<<age<<endl; cout<<"sex:"<<sex<<endl; cout<<"adress:"<<adress<<endl; cout<<"title:"<<title<<endl; cout<<"telephone:"<<telephone<<endl;}//定义Cadre(干部)类class Cadre{public: Cadre(string nam,int a,char s, string ad,string p,string tele); void display();protected: //Cadre类中还包含数据成员post(职务) string name; int age; char sex; string adress; string post; string telephone;};Cadre::Cadre(string nam,int a,char s, string ad,string p,string tele): name(nam),age(a),sex(s),adress(ad),post(p),telephone(tele) {}void Cadre::display(){ cout<<"name:"<<name<<endl; cout<<"age:"<<age<<endl; cout<<"sex:"<<sex<<endl; cout<<"adress:"<<adress<<endl; cout<<"post:"<<post<<endl; cout<<"telephone:"<<telephone<<endl;}//派生Teacher_Cadre(教师兼干部)类class Teacher_Cadre:public Teacher,public Cadre{public: Teacher_Cadre(string nam,int a,char s, string ad,string tit,string p,string tele,float w); void show();private: //Teacher_Cadre类中还包含数据成员wages(工资). float wages;};Teacher_Cadre::Teacher_Cadre(string nam,int a,char s, string ad,string tit,string p,string tele,float w): Teacher(nam,a,s,ad,tit,tele),Cadre(nam,a,s,ad,p,tele),wages(w) {}void Teacher_Cadre::show(){ Teacher::display(); cout<<"post:"<<Cadre::post<<endl; cout<<"wages:"<<wages<<endl;}int main(){ Teacher_Cadre te_ca("Wang-li",50,'f',"prof.","president","135 Beijing Road,Shanghai","(021)61234567",1534.5); te_ca.show( ); return 0;}
运行结果:
- 多重继承教师类和干部类
- 多重继承的应用《教师类和干部类》
- 多重继承教师与干部类
- C++第13周项目2 - 多重继承教师类和干部类
- 第十三周项目二----多重继承教师类和干部类
- 十三周项目二多重继承教师类和干部类
- 分别定义教师类和干部类 采用多重继承方式 第五章第九题
- 第十三周项目二—多重继承教师干部类
- 第十二周项目一 教师兼干部类(多重继承)
- C++走向远洋——46(教师兼干部类、多重继承、派生)
- 第11周项目4-教师兼干部类 (多重继承方式)
- oj教师类,干部类
- 第12周-多继承、虚基类,继承和组合-项目1-教师兼干部类
- 教师兼干部类
- 教师加干部类
- 教师兼干部类
- 教师兼干部类
- 教师兼干部类
- 职业发展
- c#连接mysql 数据库 绝对能用
- js cookie操作
- iOS系统GCD学习(4):dispatch_group2
- 学习C++从入门到精通的经典书籍
- 多重继承教师类和干部类
- vmWare/ubuntu 编译内核
- QML基础——初识Qt Quick Designer
- 走在计算机编程路上那些有思想的人们
- Hadoop平台搭建使用系列教程(2)-预定义集群环境
- wince音频驱动
- [转贴] Linux下好用的软件
- QML基础——基本语法
- cas单点登录配置全攻略