C++之访问属性
public
属性为public的成员,不仅该可以在该成员所属类的内部进行访问,而且可以在类外通过类的对象来访问。
private
属性为private的成员,只能在该成员所属类的内部进行访问,而不能在类外通过类的对象来访问。换句话说,对外不可见。
protected
属性为protected的成员,只能在该类所属的类的内部和其类的派生类中进行访问。
继承的访问属性
类的继承分为3种:public、private、protected。
共有继承:
基类的公有和保护成员对派生类可见,且属性不变;派生类虽然继承了基类的私有成员,但是不可访问基类的私有成员。
私有继承:
基类的公有和保护成员对派生类可见,且属性变为私有,派生类虽然继承了基类的私有成员,但是不可访问基类的私有成员。
保护继承:
基类的公有和保护成员对派生类可见,且属性变为保护,派生类虽然继承了基类的私有成员,但是不可访问基类的私有成员。
总结:
public: 能被类成员函数、子类函数、友元访问,也能被类的对象访问。
private: 只能被类成员函数及友元访问,不能被其他任何访问,本身的类对象也不行。
protected: 只能被类成员函数、子类函数及友元访问,不能被其他任何访问,本身的类对象也不行