第十二周项目2-教师兼干部类

来源:互联网 发布:长安金蝶软件 编辑:程序博客网 时间:2024/04/27 23:06
问题及代码:/**Copyright(c)2014,烟台大学计算学院*All  rights reserved.*文件名称:test.cpp*作者:陈银丽*完成日期:2`015年6月4日*版本号:v1.0**问题描述:分别定义Teacher(教师类)和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher—-Cadre(教师兼干部)。要求:在两个基类中都有名字,年龄,性别,地址,电话等数据成员;在Teacher类还包含数据成员title(职称),在Cadre类还包含post(职务),在Teacher-Cadre包括wages(工资)。引用数据成员时指定作用域;在类体中声明成员函数,在类外定义成员函数;在派生类Teacher-Cadre的成员函数show调用Teacher类的display函数,输出姓名,年龄,性别,职称,地址,电话等,然后在用cout语句输出职务与工资*输入描述:*程序输出:*/#include <iostream>#include <string>using namespace std;class Teacher{public :    Teacher(string nam,char s,int a,string tit,string ad,string t);   //构造函数    void display();  //输出名字,性别,年龄,职称,地址,电话protected:    string  name;    char sex;    int age;    string title;    string addr;    string tel;};Teacher::Teacher(string nam,char s,int a,string tit,string ad,string t):name(nam),sex(s),age(a),title(tit),addr(ad),tel(t){}  //构造函数定义void Teacher::display(){    cout <<"name:"<<name<<endl;    cout <<"sex:"<<sex<<endl;    cout <<"age:"<<age<<endl;    cout <<"title:"<<title<<endl;    cout <<"address:"<<addr<<endl;    cout <<"tel:"<<tel<<endl;}class Cadre{public :    Cadre(string nam,char s,int a,string p,string ad,string t); //构造函数    void diaplay();protected:    string name;    char sex;    int age;    string post;    string addr;    string tel;};Cadre::Cadre(string nam,char s,int a,string p,string ad,string t):name(nam),sex(s),age(a),sex(s),post(p),addr(ad),tel(t){}//构造函数定义void Crade::display(){    cout <<"name:"<<name<<endl;    cout <<"sex:"<<sex<<endl;    cout <<"age:"<<age<<endl;    cout <<"post:"<<post<<endl;    cout <<"address:"<<addr<<endl;    cout <<"tel:"<<tel<<endl;}class Person:public Teacher,public Crade{public :    Person(string nam,char,s,int a,string tit,string p,string ad,string t,float w);    void display()private:    float wage;};Person::Person(string nam,char s,int a,string t,string p,string ad,string t,float w ){} //构造函数定义void Person::show (){    Teacher::display();   //指定作用域Teacher类00    cout <<"post:"<<Crade::post<<endl;   //指定作用域Crade类    cout <<"wage:"<<wage<<endl;}int main(){    Person person1("Chen-zi",'f',20,"prof.","president","123 shanghai Rosd,Yinchuan","(021)61234567",5097.5);    person1.show()    return 0;}

运行结果:

知识点总结:有关类的多数概念都有用上

学习心得:从照葫芦画瓢逐渐过渡到自成一派。

0 0
原创粉丝点击