#include <iostream>
using namespace std;
class A
{
public:
static void fun()
{
cout << "static fun" << endl;
}
void fun1()
{
cout << "fun1" << endl;
}
};
int main()
{
A::fun();
//A::fun1();这个是不可以的,
A a;
a.fun1();//这两个都可以
a.fun();
etchar();
return 0;
}
如果要调用的这个函数是这个类的静态函数(static函数)的话,类名::函数名()这样调用是可以的,如果它不是静态函数的话,你必须通过创建一个类的实例,再通过其实例访问其成员函数。
原因:
静态成员是属于类本身的,不属于对象,在内存中依然存在了,而非静态成员在没有对象实例化之前是没有的