c++之const修饰成员函数

c++之const修饰成员函数,第1张

概述常函数成员函数后加const后我们称这个函数为常函数; 常函数不可以修改成员属性 成员属性声明时加关键字mutable后,在常函数中依然可以修改 常对象: 声明对象前加const 常对象只能调用常

常函数:

成员函数后加const后我们称这个函数为常函数;常函数不可以修改成员属性成员属性声明时加关键字mutable后,在常函数中依然可以修改

常对象:

声明对象前加const常对象只能调用常函数

常函数:

#include<iostream>using namespace std;class Person {public:    int age;    mutable int tmp;//用mutable修饰的为特殊变量,可以在常量函数中修改    voID showPerson() const{        this指针的本质是指针常量,指针的指向是不可以修改的        this = NulL;        即Person* const this;        在函数后面加了const之后,变成const Person* const this        此时,既不可以修改指向,也不可以修改值        this->age = 100;        this->tmp = 200;    }}; main() {    Person p;    p.showPerson();    system("pause");    return 0;}

说明:红色标注的是编译报错的,紫色标注的是可以成功编译的。

常对象:

#include<iostream>{        cout << 这是常函数" << endl;    }};voID test() {    const Person p;在对象前加const,变为常对象    常对象不能调用普通成员变量    p.age = 10;    特殊变量,在常对象下也可以修改    p.tmp = 20;    常对象只能调用常函数    p.showPerson();} main() {    test();    system(;}

说明:红色标注的是编译报错的,紫色标注的是可以成功编译的。

总结

以上是内存溢出为你收集整理的c++之const修饰成员函数全部内容,希望文章能够帮你解决c++之const修饰成员函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1159050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存