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

问题及代码:
/*
*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;
}

运行结果:

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值