继承权限及关系简单阐述

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

#include <iostream>

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继承

public			public			protected		private

protected		protected		protected		private

private			inaccessable	        inaccessable		inaccessable

#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

评论