5-2 派生类的构造函数
题目描述
通过本题目的练习可以掌握派生类构造函数的定义和使用方法。要求定义一个基类Person,它有3个protected的数据成员:姓名
name(char *类型)、性别 sex(char类型)、年龄age(int类型);一个构造函数用于对数据成员初始化;有一个成员函数show()用
于输出数据成员的信息。创建Person类的公有派生类Employee,增加两个数据成员 基本工资 basicSalary(int类型) 请假天数
leaveDays(int型);为它定义初始化成员信息的构造函数,和显示数据成员信息的成员函数show()。
输入
共5个数据,分别代表姓名、性别、年龄、基本工资、请假天数。
输出
如示例数据所示,共5行,分别代表姓名、年龄、性别、基本工资、请假天数
示例输入
zhangsan m 30 4000 2
示例输出
name:zhangsan age:30 sex:m basicSalary:4000 leavedays:2
提示
来源
黄晶晶
示例程序
#include <iostream> #include <string> using namespace std; class Person//定义基类函数 { public: Person(){}//定义空构造函数 Person(string nam,char s,int a)//初始化类的构造函数 { name=nam; sex=s; age=a; } void show() { cout<<"name:"<<name<<endl; cout<<"age:"<<age<<endl; cout<<"sex:"<<sex<<endl; } void setperson() { cin>>name>>sex>>age; } protected: string name; char sex; int age; }; class Employee:public Person//定义派生类 { public: Employee(){} Employee(string nam,char s,int a,int b,int c):Person(nam,s,a) { basicSalary=b; leaveDays=c; } void Set() { setperson(); cin>>basicSalary>>leaveDays; } void display() { show(); cout<<"basicSalary:"<<basicSalary<<endl; cout<<"leavedays:"<<leaveDays<<endl; } protected: int basicSalary,leaveDays; }; int main() { Employee one; one.Set(); one.display(); return 0; }