1. public 用于指定公共成员( public member )。公共成员可以在程序中任何函数定义中使用。(注: 当指成员时,就同时包括了成员函数和成员变量)
2. private用于指定私有成员(private member )。私有成员可以在任何成员函数的定义中使用,除此外其他任意地方都不行(包括派生类的成员函数定义中)。
3. protected 限定符
如前所述,即使是派生类的成员函数定义中都不能直接访问基类的私有成员。
事实上,私有成员函数根本不会继承。Why??这一点都不难理解。私有成员函数只是作为辅助函数使用,所以只应该在定义它们的类中使用。如果一个成员函数将在大量的派生类中作为辅助成员函数来使用,那么根本就不能再把它称为“辅助函数”。这种情况应该将其变成公共成员函数。
那么如何才能在派生类(或派生类的派生类)中突破基类私有成员的严格保密性限制呢??对于私有成员变量,我们当然可以通过调用取值函数和赋值函数来达到访问目的,但有时你会发现这种方式很繁琐且影响效率,特别是当你需要频繁访问基类私有成员变量的时候;而对于私有成员函数,则完全没有办法了,因为它根本不会继承。protected 成员就是用来解决这一问题的。
在一个类的成员之前使用限定符 protected, 那么对于除派生类(或派生类的派生类)之外的其他任何类或者函数,它等同于使用private标记的成员。但子孙类的成员函数定义中可以根据名称直接访问这种成员。