有如下类声明: class Mau{ int k; public: Mau(int n):k(n){} int calc()const; }; 则成员函数calc的下列定义

admin2021-02-22  23

问题 有如下类声明:
     class Mau{
         int k;
     public:
         Mau(int n):k(n){}
         int calc()const;
     };
则成员函数calc的下列定义中有编译错误的是

选项 A、intMau::calc()const{returnk-1;}
B、intMau::calc()const{returnk*k;}
C、intMau::calc()const{returnk+1;}
D、intMau::calc()const{return++k;}

答案D

解析 函数calc()声明的形参表后面有关键字const,说明该函数是常成员函数,常成员函数改变了隐含的this形参的类型,使得this是指向const对象的指针,因而该函数只能读取数据成员的值,不能修改数据成员,所以D选项错误,答案为D。
转载请注明原文地址:https://jikaoti.com/ti/fvh0FFFM
0

最新回复(0)