const 对象只能访问const 成员函数,非const 的对象可以访问任何成员函数,包括const 成员函数。
时间: 2023-04-01 10:00:27 浏览: 140
是的,const 对象只能访问 const 成员函数,而非 const 的对象可以访问任何成员函数,包括 const 成员函数。这是因为 const 对象的值不能被修改,所以只能调用不会修改对象的 const 成员函数。而非 const 的对象可以调用任何成员函数,因为它们可以被修改。
相关问题
C++const 对象只能访问const 成员函数,非const 的对象可以访问任何成员函数,包括const 成员函数。
是的,你说得没错。在 C++ 中,如果一个对象被声明为 const 类型,那么它只能访问该类中的 const 成员函数,因为这些函数不会修改对象的状态。而对于非 const 的对象,它可以访问该类中的任何成员函数,包括 const 成员函数,因为这些函数都可以修改对象的状态。在编写代码时,需要根据对象的实际情况来选择合适的成员函数。
const对象可以调用非const成员函数吗? 2. 非const对象可以调用const成员函数吗? 3. const成员函数内可以调用其它的非const成员函数吗? 4. 非const成员函数内可以调用其它的const成员函数吗?
1. const对象不能调用非const成员函数,因为非const成员函数有可能会修改对象的状态,而const对象的状态是不可修改的。如果const对象调用非const成员函数,编译器将会报错。
2. 非const对象可以调用const成员函数。因为const成员函数不会修改对象的状态,所以非const对象调用const成员函数是安全的。
3. const成员函数内可以调用其它的非const成员函数,但是这些非const成员函数不能修改对象的状态。如果调用的非const成员函数修改了对象的状态,编译器将会报错。
4. 非const成员函数内可以调用其它的const成员函数,因为const成员函数不会修改对象的状态,所以调用const成员函数是安全的。
阅读全文