金三角大追捕20:请大家看看c++ 静态成员的怪问题

来源:百度文库 编辑:中科新闻网 时间:2024/04/26 15:09:15
#include <iostream>
using std::cout;
using std::endl;

#include "stdio.h"
class add{
public:
static int abc;
add(){
//this->abc++;
//cout<<this->abc<<endl;
//abc++;
}
};
void main(){
//add::abc = 100;无论打开哪个注释都会出现以下:错误 1 error LNK2001: 无法解析的外部符号 "public: static int add::abc" (?abc@add@@2HA) 静态成品.obj

add a;
}

#include "iostream.h"
//#include "stdafx.h"
class add{
public :static int num;
public:

add(){
num=10;
//this->abc++;
//cout<<this->abc<<endl;
//abc++;
}
public:
//int num;
};
int add::num=10;
void main(){
//add *aa=new add();
cout<<add::num;
//add::num=10;

return;
}
改了改你的程序,现在可以了。
记住关键就是要在类外面对Static变量初始化一下才行。

add 定义前面加static试一试。