class


C++中public、protected以及private的使用

相比C语言,C++中通过class/struct来定义既包含数据,又包含行为的结构,从而支持了“对象”。现实世界中,一个人(一个对象)通常 拥有一些资产(数据),并且掌握某些技能(行为),并且这些资产和技能通常可以分为三类: 可以与任何人分享的 有限分享的,比如留给子孙后代的财产或本领 除了自己之外谁也不能用的,比如给自己留的棺材^_^ 为了表达类似的概念,在C++中使用public、protected以及private,分别代表可任意分享的、有限分享的以及独享的。比现实世界稍微复杂些,在C++中这三个关键字不仅可以修饰类成员,还可以修饰类的继承关系。 当这三个关键字用在类成员时: class Base { public: void publicMethod() { cout << “Begin of ” << __FUNCTION__ << endl; cout << “End of ” << __FUNCTION__ << endl; } static void staticPublicMethod(Base* obj) { // just call this class’s static private method staticPrivateMethod(obj); } int getProperty() […]