读书人

有关“返回对private数据成员的引用”

发布时间: 2012-02-14 19:19:19 作者: rapoo

有关“返回对private数据成员的引用”的问题

C/C++ code
…………public:…………int &badSetHour(int);…………int &Time::badSetHour(int hh){    hour=(hh>=0&&hh<24)?hh:0;    return hour;}…………int &hourRef=t.badSetHour(20);…………hourRef=30;…………


不太明白这个引用的问题,按理说两次输出的结果应该是20和0
但书上说输出为20和30
不太明白为什么有关hour的判定为什么没有生效?
望高手解惑,谢谢*^_^*

[解决办法]
hourRef=30;
这边直接赋值了当然不会判定
[解决办法]
int &Time::badSetHour(int hh) 返回的是对hour的引用。
所以hourRef指向hour。
hourRef=30; 也就使得 hour=30。

读书人网 >C++

热点推荐