C++问题 菜鸟级别

class BankAccount
{
public:
void input( ) const;
//...
}
这段代码里面 const用法为何不对

const修饰函数的意思是 这个函数不对成员变量进行修改。
所以在这个函数内,不能够调用非const的成员函数,不能修改成员变量
根据你的函数名,你的意图是想通过这个函数读取输入。
如果这个输入的内容修改了你成员变量,就会报错
例如类中有一个int a;
你在input函数里写了cin >> a;就会报错追问

是一道期末考试题 肯定不应该是用名字推断函数具体做什么的

追答

从函数名可以推断出这个函数的作用,就像叫做show()的函数,难道是初始化变量用的?
input应该是类的输入函数,本身会更改类的内部成员,所以不应该用const
一般来说,输出函数,并且不对内部数据有更改的函数,才能够用const
这类函数的名字一般为,show()print()get()之类的
而set()input()init()属于修改内部数据的函数常用名

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网