类具有三种成员属性,一种是public、一种是protected、一种是private。这三种在派生的类中也有不同的访问权限,当然不单单只看父类的成员属性,还要看派生类以什么方式继承父类,如下代码所示:
代码语言:javascript复制#include
using namespace std;
class Base// 父类,又称为基类
{
public:
int pub;
// protected 通过类对象访问的时候,等同于private
protected:
int pro;
private:
int pri;
};
// Derive 为 Base 的子类,又称 Base 的派生类
class Derive : public Base
{
public:
void display()
{
pub = 200;
pro = 200;
/*pri = 200; //不允许的*/
}
};
#if 0
基类属性public继承protected继承private继承
publicpublicprotectedprivate
protectedprotectedprotectedprivate
privateinaccessable inaccessableinaccessable
#endif
int main(int argc, char* argv[])
{
Derive d;
d.pub = 300;
/*d.pro = 200;//不允许的*/
/*d.pri = 200;//不允许的*/
return 0;
}
基类属性
public继承
protected继承
private继承
public 成员
public
protected
private
protected 成员
protected
protected
private
private 成员
inaccessable
inaccessable
inaccessable