类具有三种成员属性,一种是public、一种是protected、一种是private。这三种在派生的类中也有不同的访问权限,当然不单单只看父类的成员属性,还要看派生类以什么方式继承父类,如下代码所示:

#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