const成员函数不可以调用非const成员函数。以下是详细说明: 1、相关编程概念解释: const成员函数是承诺不会修改对象状态的成员函数。在const成员函数内部,对象的成员变量相当于被const修饰,即不能被修改。 2、常见错误: 尝试在const成员函数中调用非const成员函数。 3、常见错误代码示例: cpp class MyClass { public:...
1、const成员函数是class中比较特殊的函数。这种函数不能调用非const成员函数。 2、声明const的对象,只能调用const成员函数,而不能调用其他成员函数。
因此 const成员函数是不会改变类的数据成员的值的 但是非const 成员 函数是会改变的 因此 const 成员 函数是不能调用 非const 成员的。
总之,`const`成员函数不能直接调用非`const`成员函数,这是C++语言设计的一部分,旨在保护对象的状态不被意外修改。
关于5点const那里:const成员函数可以访问非const对象的非const数据成员、const数据成员,也可以访问const对象内的所有数据成员;这句好像不对,const成员函数也不可以访问const对象的非const数据成员吧,因为const对象就是不可以访问非const的数据成员呀查看原帖点赞 评论 ...
1.const成员函数 const成员函数不会修改对象的状态 const成员函数只能访问数据成员的值,而不能修改它 2.const对象 如果把一个对象指定为const,就是告诉编译器不要修改它 const对象的定义: const 类名 对象名(参数表); 1. const对象不能调用非const成员函数,因为会存在对对象修改的潜在风险 ...
const 类型的成员函数不能返回非const类型的引用 这句话的意思是如果你的成员函数是const类型的,并且要求返回值是类的非cosnt或者非mutable成员变量,返回类型是引用,那么这是错误的。 class Test { public : int & GetValue()const; private: int value; ...
4.const成员函数既能被const对象调用,也能被非const对象调用,非const成员函数不能被const对象调用。换言之,const对象只能调用const成员函数,非const对象即可调用const成员函数,也可调用非const成员函数。这就提示我们,尽量把成员函数设成const成员函数,使之能既能被const对象调用,又能被非const对象调用。
有const修饰的成员函数,只能读取数据成员,不能改变数据成员;没有const修饰的成员函数,对数据成员是可读可写; 3.const成员函数,不能修改类的数据成员,也不能再函数中调用其他不是const修饰的函数; 4.const对象可以调用const成员函数,但是不能调用非const修饰的函数; const 修饰成员函数 前后用法(effective c++ 03) ...