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

admin2021-06-10  48

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

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

答案D

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

最新回复(0)