public、private、protected区别:它们三个的权限不同。public 可以访问所有的类,private只有当前类可访问,protected 当前类和继承它的类都可访问。
1、Public 公共权限:
public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
2、Private 私有权限:
private表示私有,除了自己可以使用外,任何人都不可以直接使用,继承都不可以使用。
3、protected 受保护权限
把protected比做成父亲对于子女、朋友来说,就是public的公有的,可以自由使用,没有任何限制,而对于其他的外部的就不可以使用,变成了私有的。
class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友。 public:表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
private:表示私有,除了class自己之外,任何人都不可以直接使用。
protected:对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
派生类可以访问基类中所有的非私有成员。因此基类成员如果不想被派生类的成员函数访问,则应在基类中声明为 private。
一个派生类继承了所有基类的方法,但下列情况除外:
基类的构造函数、析构函数和拷贝构造函数(可能是为了多继承定义不出现冲突),除了赋值运算符重载函数以外,所有的运算符重载函数都可以被派生类继承,基类的友元函数(父亲的朋友不一定是你的朋友)。