赞
踩
派生子类会继承基类的所有成员,除了构造函数和析构函数。也就是说子类是无法继承父类的构造函数和析构函数的.因此,子类对于从父类继承过来的成员变量,若不想自己写构造函数初始化时,就只能先初始化父类中的成员变量,然后再继承过来。如以下程序中:
子类Student1中的构造方法只有对新增成员int age和string addr的初始化操作,对于从父类继承过来的成员num,name,sex无初始化语句,但子类又不能继承父类的构造方法,要么就另外再写一个初始化语句,可这样操作就造成了重复性语句, 此时就得通过Student1(int n,string nam,char s,int a,string ad):Student(n,nam,s) {age=a;addr=ad;}先初始化父类成员变量,从而间接初始化子类从父类继承过来的成员变量。
#include
#include
using namespace std;
class Student
{
public:
Student(int n,string nam,char s)
{
num=n;
name=nam;
sex=s;
}
~Student(){}
protected:
int num;
string name;
char sex;
};
class Student1:public Student
{
Student1(int n,string nam,char s,int a,st
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。