protected 和privated都是针对函数定义来说的在外部程序中都不可被调用。
public表示可以被外部调用(对象.方法)
public: 数据成员和函数成员可在成员函数,友元,继承类中直接使用。亦可以作为接口,供类的用户使用(
即 A a,a.change())。
private: 数据成员和函数成员,只能在 类成员和友元 中访问。不能被继承类访问(无论何种继承),虽然作为继承类的私有成员,但 在 使用过程中,是通过调用基类的构造函数 完成参数的传递的。继承类不能访问基类的私有成员。
protect: 在基类中用法同private,基类对象不能访问。在派生类中,用法同基类的public, 其成员可被其继承类对象访问使用。