【发布时间】:2010-06-14 10:26:59
【问题描述】:
我对 c++ 中的一些概念感到非常困惑。例如:我有以下两个文件
//file1.cpp
class test
{
static int s;
public:
test(){s++;}
};
static test t;
int test::s=5;
//file2.cpp
#include<iostream>
using namespace std;
class test
{
static int s;
public:
test(){s++;}
static int get()
{
return s;
}
};
static test t;
int main()
{
cout<<test::get()<<endl;
}
现在我的问题是:
1. 两个文件的类定义不同,如何链接成功?
2.两个类的静态成员是否相关,因为我得到的输出是7。
请解释一下这个静态概念。
【问题讨论】:
标签: c++ static initialization