| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 495 人关注过本帖
标题:令人困惑的运行结果
只看楼主 加入收藏
zzh193
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-6-2
收藏
 问题点数:0 回复次数:4 
令人困惑的运行结果

请看以下程序在C++ BUILDER6.0下的运行结果:
#include<iostream>
using namespace std;

class MyClass{
int number;
public:
MyClass();
~MyClass();
void Display();
};

MyClass::MyClass(){cout <<"Constructing normally.\n";}

MyClass::~MyClass(){cout <<"Destructing.\n";}

void MyClass::Display(){
cout <<"Display a number: "<<number <<endl;
}

int main(){
MyClass obj1;
obj1.Display();
}
运行结果为:
Constructing normally.
Display a number: 1
Destructing.
请问各位高人:第二行最后一个字符为什么是1不是0?

搜索更多相关主题的帖子: 运行 结果 困惑 
2007-08-16 16:01
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
你先告诉我为什么你觉得你0?

我还觉得是 4 5 6 7 8 ……呢,一句话,说不准。
仔细想想吧!

Fight  to win  or  die...
2007-08-16 16:07
zzh193
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-6-2
收藏
得分:0 
回复:(aipb2007)你先告诉我为什么你觉得你0?我还觉...

如果说是不确定,哪为什么每次都是1,而不是别的数呢?

2007-08-16 16:17
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 

不确定,不是你那个意思。
你用的builder吧,如果我用dev-cpp,出来的肯定不是1,如果我用vc,出来的是个大负数。
每种编译器有他自己处理这样未定义行为的机制,懂吗?

你把构造对象那句话写在main函数外面去,再运行,出来的就是 0 了。

[此贴子已经被作者于2007-8-16 16:30:19编辑过]


Fight  to win  or  die...
2007-08-16 16:27
zzh193
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-6-2
收藏
得分:0 

懂了,版主真的很厉害,向你学习了,谢谢啦!

2007-08-16 16:40
快速回复:令人困惑的运行结果
数据加载中...
 
   



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

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