c++---静态成员变量与静态成员函数
普通成员变量每个对象各自持有一份,而静态成员变量只有一份,被所有同类对象共享;
普通成员函数一定是作用在某个对象上的,而静态成员函数并不具体作用在某个对象上;
访问方式:访问普通成员时,要通过对象名.成员名的方式,指明要访问的成员变量是属于哪个对象的,或要调用的成员函数作用于哪个对象;访问静态成员时,则可以通过类名::成员名的方式访问,不需要指明被访问的成员属于哪个对象或作用于哪个对象。因此,甚至可以在还没有任何对象生成时就访问一个类的静态成员;
参数传递:普通成员函数在参数传递时编译器会隐藏地传递一个this指针.通过this指针来确定调用类产生的哪个对象;但是静态成员函数没有this指针,不知道应该访问哪个对象中的数据,所以在程序中不可以用静态成员函数访问类中的普通变量。
静态成员函数只能访问静态成员变量
浙公网安备 33010602011771号