打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
const修饰方法
userphoto

2012.06.16

关注
  1. {  
  2. private:  
  3.     int m_gender;  
  4.     int m_age;  
  5. public:  
  6.     human():m_gender(0),m_age(0)  
  7.     {  
  8.     }  
  9.     int getAge1( ) const  
  10.     {  
  11.         m_age = 20;//错误,试图在const方法中修改类成员变量   
  12.          m_gender = 1;//错误,试图在const方法中修改类成员变量   
  13.          return m_age;  
  14.     }  
  15.     int getAge2( )  
  16.     {  
  17.         m_gender = 1;//正确   
  18.          m_age = 20;//正确   
  19.          return m_age;  
  20.     }  
  21. };  

如果我们定义一个const的human对象。那么我们使用这个const的对象的方法时只能使用被const修饰的

方法。

  1. const human a;  
  2. a.getAge1();//正确   
  3. a.getAge2();//错误  

有的同学有疑问了,如果类中有的值是需要在const时改变的怎么办。
C++此时又引入了一个很好的关键字mutable

  1. class human  
  2. {  
  3. private:  
  4.     int m_gender;  
  5.     mutable int m_age;  
  6. public:  
  7.     human():m_gender(0),m_age(0)  
  8.     {  
  9.     }  
  10.     int getAge1( ) const  
  11.     {  
  12.         m_age = 20;//正确。使用了mutable关键字   
  13.          m_gender = 1;//错误,试图在const方法中修改类成员变量   
  14.          return _age;  
  15.     }  
  16.     int getAge2( )  
  17.     {  
  18.         m_gender = 1;//正确   
  19.          m_age = 20;//正确   
  20.          return m_age;  
  21.     }  
  22. };  
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
函数后面加一个const的作用
lua 操作 C++ manipulate c++ class with lua
CSDN技术中心 C++基本功:全面掌握const、volatile和mutable关键字
C++ 基本功: 全面掌握const, volatile 和 mutable关键字
IOS入门Objective-C语法篇
封装和private关键字
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服