使用static int a;
在类里定义静态数据,但这时候这个对象并未初始化,无法访问,无法修改。
必须类似于定义全局变量的方法,在主函数之外写一句:int classname::a=0
才可以。
在创建任何一个类的对象以后(当然前提是先在主函数外初始化该静态对象),除了通过classname::a
来访问外,也可以通过object.a
来访问(object是类的一个对象)
静态数据在类的所有对象中都是唯一的,通用的,在某一个对象里修改也会导致其他的对象里该静态数据的改变。
【Heremei】 C++ - 面向对象 - 类中静态数据的限制
原文:https://www.cnblogs.com/heremei/p/14815187.html