| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 819 人关注过本帖
标题:关于析构函数
取消只看楼主 加入收藏
cclearner
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2007-6-28
收藏
 问题点数:0 回复次数:4 
关于析构函数

class Point
{
public:
Point(int xx=0, int yy=0) {X=xx; Y=yy; countP++; }
Point(Point &p);
~Point(){ countP--;}

int GetX() {return X;}
int GetY() {return Y;}
void GetC() {cout<<" Object id="<<countP<<endl;}
private:
int X,Y;
static int countP;
};
Point::Point(Point &p)
{
X=p.X;
Y=p.Y;
countP++;
}

int Point::countP=0;
int main()
{
Point A(4,5);
cout<<"Point A,"<<A.GetX()<<","<<A.GetY();
A.GetC();
Point B(A);
cout<<"Point B,"<<B.GetX()<<","<<B.GetY();
B.GetC();
}
红色的一句是干什么的呢,为什么在此句中加上输出,会输出一个莫名其妙的countP

搜索更多相关主题的帖子: 函数 
2007-06-28 23:22
cclearner
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2007-6-28
收藏
得分:0 
不明白啊,为什么要减一呢,什么时候析构的,我怎么删掉这一句析构函数对结果没有任何影响啊?

好人哪,一群好人哪!!!!!!
2007-06-29 22:48
cclearner
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2007-6-28
收藏
得分:0 
我明白析构了要减一,可是为什么要认为设计这个减一呢,我看不用设计减一没有任何影响啊。这个程序不是我写的,所以才不明白为啥要罗索这一句。谢谢了!

好人哪,一群好人哪!!!!!!
2007-06-30 12:04
cclearner
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2007-6-28
收藏
得分:0 
啊,非常感谢版主!我想可能是设计人员的思维比较全面吧,虽然对现有的一点没有影响,但如果A没有了,程序就必须要这样析构了,嗯,我的确要狠狠地提高一下了。
谢谢版主教育。

好人哪,一群好人哪!!!!!!
2007-06-30 19:44
cclearner
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2007-6-28
收藏
得分:0 
偶,知道,countP,不知道--,现在知道了

好人哪,一群好人哪!!!!!!
2007-07-02 22:09
快速回复:关于析构函数
数据加载中...
 
   



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

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