C++的静态成员变量必须在类外定义,即使是类的对象。

#include <stdio.h>

class A
{
public:
	void f1()
	{
		printf("A::f1\n");
	}
};

class B
{
public:
	void f2()
	{
		printf("B::f2\n");
		a.f1();
	}
	static A a;//声明静态对象
};

A B::a;//必须在类外定义,否则会链接出错

void main() 
{
	B b;
	b.f2();
	getchar();
}

版权声明:本文为csdn_gddf102384398原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>