c++执行结果不理解

[复制链接]
查看11 | 回复4 | 2011-11-27 18:11:40 | 显示全部楼层 |阅读模式
因为成员变量i没有赋值,其值不确定,因此输出一个很大的负数。主函数可以改为:void main(){human A;
a.set();
//成员变量i赋值为100。cout<<A.get()<<endl;
//输出100。system("pause");}...
回复

使用道具 举报

千问 | 2011-11-27 18:11:40 | 显示全部楼层
你程序错了#includeusing namespace std;class human{public:void set(){i=100;}int get(){return i;}private:int i;};void main(){human A;A.set();//这...
回复

使用道具 举报

千问 | 2011-11-27 18:11:40 | 显示全部楼层
在没调用set()之前,i还是个随机数,要么在构造函数里调用set()函数,human(){set();}这杨再调用get()就可以得到100....
回复

使用道具 举报

千问 | 2011-11-27 18:11:40 | 显示全部楼层
human A 未初始化, 所以int i 中的值不定,默认的构造函数不会初始化里面的变量,你可以加一个human():i(0){} 构造函数...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行