#include <iostream.h>

[复制链接]
查看11 | 回复3 | 2008-10-6 16:58:34 | 显示全部楼层 |阅读模式
#include
class C
{
public:
C()
{
cout<<++c<<endl;
}
static int Getc()
{return c;}
~C()
{
cout<<c--<<endl;
}
private:
static int c;
};
int C::c=0;
void main()
{
C c1,c2,c3,c4,c5;
cout<<C::Getc()<<endl;
}哪位帮我分析一下程序的执行过程 结果是1 2 3 4 5 5 4 3 2 1 但是我不明白是怎么执行的

回复

使用道具 举报

千问 | 2008-10-6 16:58:34 | 显示全部楼层
首先是调用c()创建C类的对象c1,c2,c3,c4,c5,先执行c++,也就是c自加1,然后输出c的值然后调用析构函数~c()销毁c类的对象c1,c2,c3,c4,c5;先输出c的值,再执行c--,也就是c自减1...
回复

使用道具 举报

千问 | 2008-10-6 16:58:34 | 显示全部楼层
建构的时候 1 2 3 4 5解构的时候 5 4 3 2 1...
回复

使用道具 举报

千问 | 2008-10-6 16:58:34 | 显示全部楼层
构造的时候1 2 3 4 5执行结束析构时5 4 3 2 1...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行