5-3 多级派生类的构造函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hold_on_/article/details/78899599

5-3 多级派生类的构造函数

Time Limit: 1000MS Memory Limit: 65536KB
  

Problem Description

Person,它有name(char *类型)、年龄创建basicSalaryint型);为它定义初始化成员信息的构造函数,和显示数据成员信息的成员函数Employee类的公有派生类);为它定义初始化成员信息的构造函数,和显示数据成员信息的成员函数6个数据,分别代表姓名、性别、年龄、基本工资、请假天数、业绩。每个数据之间用一个空格间隔。

Output

  <p class='\"cjk\"' style='\"margin-bottom:' 0cm\"="">如示例数据所示,共<font face='\"Times' roman,="" serif\"="" new=""> 5行,分别代表姓名、年龄、性别、基本工资、请假天数、业绩

Example Input

Jerry m 32 4200 1 100

Example Output

name:Jerry
age:32
sex:m
basicSalary:4200
leavedays:1
performance:100

Hint

 

Author





#include<iostream>
using namespace std;
class person
{
public:
    person()    //初始化
    {
    }
    void get1()
    {
        cin>>name>>sex>>age;
    }
    void show_person()
    {
        cout<<"name:"<<name<<endl;
        cout<<"age:"<<age<<endl;
        cout<<"sex:"<<sex<<endl;
    }
protected:
    string name;
    char sex;
    int age;
};
class employee:public person
{
protected:
    int basicsalary;
    int leavedays;
public:
    void get2()
    {
        get1();
        cin>>basicsalary>>leavedays;
    }
    void show()
    {
        show_person();
        cout<<"basicSalary:"<<basicsalary<<endl;
        cout<<"leavedays:"<<leavedays<<endl;
    }
};
class manager:public employee
{
protected:
    float performance;
public:
    void get3()
    {
        get2();      //可以在派生类中多次传递
        cin>>performance;
    }
    void show_all()
    {
        show();
        cout<<"performance:"<<performance<<endl;
    }
};
int main()
{
    manager p;
    p.get3();
    p.show_all();
    return 0;
}

猜你喜欢

转载自blog.csdn.net/hold_on_/article/details/78899599
5-3