引入
C++与C明显的不同之处就是C++对类(class)的支持,这也是C++最初被称作C with classes的原因。我们知道类是属性和行为的封装,它既包含成员变量,也包含成员函数(或称方法)。如果成员变量是私有的,外界则无法直接访问,而只能求助于该类的方法,因此外界与类成员的交流基本上被限制在调用类方法上。实际上,依据C++的编程思维,是应该鼓励这种交流方式的。在设计类的时候,应尽量将属性修饰成private,任何时候外界想要存取属性,都只能通过类对外开放的方法,这体现了C++的封装性,更严谨、安全。
与此同时,C++也尽量与C保持兼容,它在鼓励OOP编程思维的同时,仍然允许全局变量、全局函数存在。全局变量和全局函数,顾名思义就是在程序的任何位置均允许被访问或调用。它们对全局可见,且全局变量的生命周期与程序的生命周期一致:在程序启动时被创建,在程序关闭时被销毁。这与类的成员是不同的,类成员的作用域及生命周期是比较有限的。
在C++中还有一种函数比较特别,就是静态(static)的类方法。实际上,静态类方法与全局函数没有多大的差别,只不过