这种函数不能调用非const成员函数。 2、声明const的对象,只能调用const成员函数,而不能调用其他成员函数。
2017-10-03 13:35 − 我们可以用const来定义一个const对象,const对象是不可以调用类中的非const成员函数,这是为什么呢? 1 class test{ 2 int i; 3 public: 4 void print(); 5 test(int i); 6 }; 我们知道... zhangkele 0 345 为什么const对象不能调用非const成员函数 因为非const不能接受const...
如果用const来修饰函数,那么函数一定是类的成员函数。 const 类型的成员函数不能返回非const类型的引用 这句话的意思是如果你的成员函数是const类型的,并且要求返回值是类的非cosnt或者非mutable成员变量,返回类型是引用,那么这是错误的。 class Test { public : int & GetValue()const; private: int value; };...
1. const修饰对象不能修改对象, 2. const在成员函数右边表示不能修改成员变量, 这两个是联系在一起的,也就说明const在成员函数右边是不能重载的
因为常对象那么就意味着该对象的数据成员是不能修改的(除非使用mutable修饰的可变成员外),而那些非const成员函数存在修改数据成员的风险。So,C++要求只能调用const成员函数。
对const的使用,以下描述错误的为: A、可以用const修饰对象、数据成员或成员函数 B、常对象只能调用类的常成员函数 C、常数据成员一经初始化就不能二次赋值 D、常成员函数可以调用该类的非常成员函数 点击查看答案进入小程序搜题 你可能喜欢 舞蹈《小熊舞》中,小熊吃蜂蜜经过哪些过程( ) A. 腆 B. 冲 C. ...
对const的使用,以下描述错误的为: A、可以用const修饰对象、数据成员或成员函数 B、常对象只能调用类的常成员函数 C、常数据成员一经初始化就不能二次赋值 D、常成员函数可以调用该类的非常成员函数 点击查看答案 广告位招租 联系QQ:5245112(WX同号)
前面我们把非const成员函数print(),翻译了一下,同样const成员函数也要翻译,void print()const; 可以翻译成 void print(const test* this);,那么常量对象的地址翻译是const test* this; 是和void print() const;中this指针的类型是一样的,所以常量对象可以调用const成员函数。
前面我们把非const成员函数print(),翻译了一下,同样const成员函数也要翻译,void print()const; 可以翻译成 void print(const test* this);,那么常量对象的地址翻译是const test* this; 是和void print() const;中this指针的类型是一样的,所以常量对象可以调用const成员函数。