有关“返回对private数据成员的引用”的有关问题
有关“返回对private数据成员的引用”的问题C/C++ code…………public:…………int &badSetHour(int)…………int &Time:
有关“返回对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。