c++类中怎么使用static成员变量,请详细解答

以下代码运行时出现错误#include<cstdio>#include<cstring>#include<map>#include<list>#include<strin... 以下代码运行时出现错误

#include <cstdio>#include <cstring>#include <map>#include <list>#include <string>#include <iostream>#define maxn 1000010using namespace std;class test{public: static int a; test(int x):b(x){} void print() { cout<<b<<endl; }private: int b;};int main(){ int test::a=12; test c(23); cout<<c.a<<" "<<endl; c.print(); return 0;}
展开
 我来答
好求知
推荐于2016-03-14 · TA获得超过6515个赞
知道大有可为答主
回答量:966
采纳率:80%
帮助的人:1172万
展开全部

类的静态变量要放在类外初始化。

#include <iostream>
#define maxn 1000010
using namespace std;
class test
{
public:
    static int a;
    test(int x):b(x){}
    void print()
    {
        cout<<b<<endl;
    }
private:
    int b;
};
int test::a=12; // 在类外初始化

int main()
{
   test c(23);
   cout<<c.a<<" "<<endl;
   c.print();
    return 0;
}
追问
非常感谢的
lovinoCarriedo
2015-08-13 · 超过15用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:25.6万
展开全部
你试试换成pravite,我不确定【我不觉得哪里有错(ΦωΦ)】,一般成员变量都设成pravite
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式