首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++菜鸟

2012-03-09 
c++初学者#include iostream.hints0//定义全局变量classS{staticintn//静态变量npublic:S(inti){ni

c++初学者
#include <iostream.h>
int     s=0;//定义全局变量
class     S
{  
static     int     n;//静态变量n
public:
S(int   i){n=i;}//有参构造函数
static     void     add(){s+=n;}//静态函数
};
   
int     S::n   =0;//类外给n赋初值0
    void     main()
    {
    S     b(7),     a(2);
    a.add();
    b.add();
    cout < < "S= " < <s < <endl;

这个题目里为什么答案最后等于4,请叫高手给出详细的解释,     还有谁知道噶C++的QQ群,给小弟介绍几个。/在此言谢了!!
    }

[解决办法]
n是static,所以所有实例用到的n是同一个

S b(7), a(2);

// 当定义 b(7)的时候n为7,然后你又定义 a(2);把n改为了 2


a.add();
b.add();

// 两次都是 + 2

所以是4

热点排行