| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1524 人关注过本帖
标题:[求助]关于静态成员的问题
只看楼主 加入收藏
elitiwin
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-5-28
收藏
 问题点数:0 回复次数:21 
[求助]关于静态成员的问题

以下是我在学静态成员时照例子写的一个程序
#include <iostream>
#include <iomanip>
using namespace std;

class StaticDemo
{
private:
static int counter;
public:
staticDemo();
~StaticDemo();
static void printCount();
};

StaticDemo::staticDemo()
{
counter++;
}
StaticDemo::~StaticDemo()
{
counter--;
cout<<"In destructor:counter: "<<counter<<endl;
}
void StaticDemo::printCount()
{
cout<<"Counter: "<<counter<<endl;
return;
}
int StaticDemo::counter=0;

int main()
{
cout<<"Start static demonstration.\n ";
StaticDemo a1;
cout<<"After first instantiation: ";
a1.printCount();

StaticDemo a2;
cout<<"After second instantiation: ";
StaticDemo::printCount();

cout<<"Terminating demonstration\n";
return 0;
}
在构造函数中,明明使counter++了,为什么输出的counter却始终是0,而析构函数正常,依次减了2次。

搜索更多相关主题的帖子: 静态成员 counter StaticDemo void cout 
2006-07-09 15:22
stylev
Rank: 1
等 级:新手上路
威 望:1
帖 子:136
专家分:0
注 册:2006-5-30
收藏
得分:0 
S

E-mail/MSN: stylev@
2006-07-09 15:31
nick_annie
Rank: 1
等 级:新手上路
帖 子:105
专家分:0
注 册:2005-11-19
收藏
得分:0 
晕...构造函数的首字母......

2006-07-09 16:11
ysol
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-6-11
收藏
得分:0 

汗~~~
public:
staticDemo();\\此处字母s要大写!!!
~StaticDemo();
static void printCount();
};

StaticDemo::staticDemo()\\此处字母s要大写!!!

{
counter++;
}

2006-07-09 16:24
elitiwin
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-5-28
收藏
得分:0 

寒了,笔误,一着急写错了,谢谢大家了.

2006-07-09 17:11
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
我想问一下:
为什么这里可以不写返回类型?它不是构造函数啊!!!

我想问下,除了析构函数以外,还有哪个函数不能有参数,而且可以不写返回类型,但是这个函数却有返回值~!
这是我们C++期末考试的一道题~我想了半天还是没想到

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-07-09 17:45
ysol
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-6-11
收藏
得分:0 
以下是引用wfpb在2006-7-9 17:45:42的发言:
我想问一下:
为什么这里可以不写返回类型?它不是构造函数啊!!!

我想问下,除了析构函数以外,还有哪个函数不能有参数,而且可以不写返回类型,但是这个函数却有返回值~!
这是我们C++期末考试的一道题~我想了半天还是没想到

貌似编译器会给出警告!但是不会报错,认为返回类型为void.
你说的除析构函数外的那个函数 会不会是 默认构造函数???

2006-07-09 17:58
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
。。。。。。。我昏,默认构造函数不能有参数?
他本身就没被写出来~谈什么能不能有参数呢?

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-07-09 19:31
ysol
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-6-11
收藏
得分:0 

是的,默认构造函数是不能有参数的,但是可以被重载!!!也可以含有参数但是就不叫默认构造函数了,嘿嘿

2006-07-09 19:46
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

我说慌了,默认构造函数好象是说可以不写参数,而不是不能有参数吧


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-07-09 19:49
快速回复:[求助]关于静态成员的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017175 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved