公有静态数据成员

szqh97 2008-10-30 09:06:37
#include<iostream.h>
class counter
{
public:
counter (int a){mem=a;}
int mem;
static int smem;
};
int counter::smem =1;
void main()
{
counter c(5);
int i;
for(i=0;i<5;i++)
{counter::smem +=i;
cout<<counter::smem <<'\t';
}
cout<<endl;

}

为何运行结果是1 2 4 7 11 ?
帮忙解释一下啊.
...全文
115 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
szqh97 2008-11-01
  • 打赏
  • 举报
回复
呵呵,看错了,是挺简单的,
Zark 2008-10-30
  • 打赏
  • 举报
回复
有什么问题啊?

初始:
counter::smem =1

1+0= 1

1+1 =2

2+2 =4

4+3= 7

7+4 =11

小学运算啊,为什么有问题?

wuyu637 2008-10-30
  • 打赏
  • 举报
回复
2-1 = 1;
4-2 = 2;
7-4 = 3;
11-7 = 4;


1234====懂了把?
freshairfly 2008-10-30
  • 打赏
  • 举报
回复
就相当于一个全局变量呗,只不过在counter名字空间内

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧