1、继承的概念
在C++中所谓的继承就是在一个已存在的类的基础上建立一个新的类。已存在的类称为“基类”或者“父类”,新建立的类称为“派生类”或者“子类”,一个新类从已有的类那里获得其已有特性,这种现象称为类的继承,类的继承是用已有的类来建立专用类的编程技术。
class Base//基类Base{
Public:
int _pub;
protected:
int _pro;
private:
int _pri;
};
class Derived:public Base
{
public:
int _dpub;
}
2.继承限定符和访问限定符
1.公有继承(public)
例如:
class Base//基类Base
{
Public:
int _pub;
protected:
int _pro;
private:
int _pri;
};
class Derived:public Base //派生类Derived公有继承基类Base的所有成员
{
public:
Void fun()
{
_pub = 1;//派生类中可以访问基类中的公有成员变量
_pro = 2;//派生类中可以访问基类中的保护成员变量
_pri = 3;//派生类继承了积累的私有成员但不可见
}
};
2.私有继承(private)
class Base//基类Base
{
public:
int _pub;
protected:
int _pro;
private:
int _pri;
};
class Derived:protected Base //派生类Derived保护继承基类Base
{
public:
Void fun()
{
_pub = 1;
_pro = 2;
_pri = 3;
//私有基类的公有成员和保护成员在派生类中的访问属性相当于派生类中的私有成员,即派生类的成员函数能访问他们,而派生类外中不能访问他们,私有基类的私有成员在派生类中成为不可访问的成员
}
};
3.保护继承(protected)
class Base
{
public:
int _pub;
protected:
int _pro;
private:
int _pri;
};
class Derived:private Base
{
public:
Void fun()
{
_pub = 1;
_pro = 2;
_pri = 3;
}
//保护基类的公有成员和保护成员在派生类中都成了保护成员,其私有成员仍为基类私有,也就是把基类原有的公有成员也保护起来,不让在类外任意访问。
};
基类成员在派生类中的访问属性表
在基类的访问属性 |
继承方式 |