类的定义的成员函数,若加了 static 修饰,则该函数可以在没有创建类对象的情况下,直接被调用。若没有加 static 修饰的成员函数,只有在创建了类对象后,由对象调用。因为动态成员函数在编译后的第一个形参是 this ,对象的地址。而 加了 static 的成员函数是没有 this 形参的,在 static 函数里甚至不能使用 this 关键字。可见两种成员函数在编译上的区别。
测试如下:
类的定义的成员函数,若加了 static 修饰,则该函数可以在没有创建类对象的情况下,直接被调用。若没有加 static 修饰的成员函数,只有在创建了类对象后,由对象调用。因为动态成员函数在编译后的第一个形参是 this ,对象的地址。而 加了 static 的成员函数是没有 this 形参的,在 static 函数里甚至不能使用 this 关键字。可见两种成员函数在编译上的区别。
测试如下: