首页 > 代码库 > 继承例题(一)公有继承

继承例题(一)公有继承

题目:
学生基类包括:学号,姓名,性别三个成员
在基类之上派生一个学生类,增加年龄地址两个成员。产生一个对象,并打印出该学生的信息(学号,姓名,性别,年龄和地址)。

分析:程序的关键在于学生基类的三个成员,学号,姓名和性别采用保护数据,在派生中采用public继承。继承之后基类的保护成员数据可以被派生类的成员函数引用

#include <iostream>
#include <string>
using namespace std;
class student
{
    public:
        student(int n,string nam,char s):num(n),name(nam),sex(s){}    
    protected: //保护
        int num;
        string name;
        char sex;
};
class student1 :public student
{
    public:
    student1(int n,string nam,char s,int a,string ad):student(n,nam,s)//构造函数
    {
        age=a;
        address=ad;
    }
    void show()const;    
    private:
        int age;
        string address;
};
void student1::show()const
{
    cout<<num<<" "<<name<<" "<<sex<<" "<<age<<" "<<address<<endl;
}
int main()
{
    student1 luo(10,"luotian",m,19,"shaoxing");
    luo.show();
    return 0;
}

 

继承例题(一)公有继承