什么是常函数,有什么作用
声明方式、特点、常对象
标准回答
常函数的声明方式
普通成员函数后面加上 const 修饰,就是常函数
返回值 函数名(形参列表) const { 函数体 }
注意:const 必须放到形参列表后面才是常函数,不能放到前面,放到前面修饰的是返回值。
特点
加分回答
常函数示例代码:
class Person { public: int m_Age; mutable int m_Height; Person(int age) { this->m_Age = age; } // this指针的本质 指针常量 Person* const this; // 如果想让this指针指向的对象的内容不能被修改,const Person* const this; void show() const{ // 常函数 // this->m_Age = 200; // 常函数中,不能对成员进行修改 this->m_Height = 180; // 常函数中,可以修改mutable修饰的成员 cout << this->m_Age << endl; } void show1() {} }; int main() { Person p1(20); p1.show(); // 常对象 const Person p2(30); // 常对象 // p2.m_Age = 20; // 常对象不能修改内容 p2.m_Height = 190; // 常对象可以修改mutable修饰的成员变量 p2.show(); // 常对象可以调用常函数 // p2.show1(); // 常对象不能调用普通函数 return 0; }
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
得分点
声明方式、特点、常对象
参考答案
标准回答
常函数的声明方式
普通成员函数后面加上 const 修饰,就是常函数
注意:const 必须放到形参列表后面才是常函数,不能放到前面,放到前面修饰的是返回值。
特点
加分回答
延伸阅读
常函数示例代码: