const对象是不可以调用类中的非const成员函数。原因之后解释。 假设现在有如下代码: class test{ int i; public: void print(); test(int i); }; test obj1(12); obj1.print(); 1|0默认this指针 对象调用成员函数时,在形参列表的最前面加一个形参this,但这是隐式的。this指针是默认指向调用函数的当...
1、const成员函数是class中比较特殊的函数。这种函数不能调用非const成员函数。 2、声明const的对象,只能调用const成员函数,而不能调用其他成员函数。
对const的使用,以下描述错误的为:A.可以用const修饰对象、数据成员或成员函数B.常对象只能调用类的常成员函数C.常数据成员只能由构造函数通过初始化列表进行初始化
若将一个对象说明为常对象,则通过该对象只能调用它的___成员函数,不能调用其它成员函数。考点:const对象的正确答案和题目解析
(3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;(4)对于类的成员函数,若指定其为const类型,则表明其是一个常成员函数,不能修改类的成员变量,只能用常实例化对象调用;static关键字内存作用域不同,static函数只是在声明它的文件中可见,不能被其他文件所用...
前面我们把非const成员函数print(),翻译了一下,同样const成员函数也要翻译,void print()const; 可以翻译成 void print(const test* this);,那么常量对象的地址翻译是const test* this; 是和void print() const;中this指针的类型是一样的,所以常量对象可以调用const成员函数。