题目:
学生基类包括:学号,姓名,性别三个成员
在基类之上派生一个学生类,增加年龄和地址两个成员。产生一个对象,并打印出该学生的信息(学号,姓名,性别,年龄和地址)。
分析:程序的关键在于学生基类的三个成员,学号,姓名和性别采用保护数据,在派生中采用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;
}