C++ const对象详解

在使用C++语言开发中,如果我们希望某一个对象在定义之后不被错误的修改,我们可以将这个对象声明为const对象,这样这个对象的数据成员就不可以被更改。

1.定义const对象

const 类名 对象名;

  类名 const 对象名;

1)定义类对象时可以将其指定为const对象。定义后const对象不能再被修改;

2const对象不能调用非const类型的成员函数。

  在非const成员函数内部,有可能会对对象的数据成员进行修改,比如setHour()修改了对象的Hour值。而const类型的成员函数是不会修改对象的数据成员的。

const数据成员

1.const数据成员

  在类内部使用const关键字来声明const数据成员。const数据成员的值不能被修改。

const int m_nNum//定义了一个const数据成员

  初始化时比较特殊,只能通过初始化列表初始化。不能在构造函数里赋值。

2.初始化列表

  构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。

  初始化列表可以为数据成员初始化,不仅仅只是const数据成员。

  我们在构造函数外面添加了初始化列表,这个列表里面为const成员m_nNum赋了初始值10,如果我们有多个构造函数,必须在每一个构造函数外面都对这个const成员添加初始化列表初始化,包括复制构造函数。

 

const成员函数

1.const成员函数只能被const对象引用;

2.const成员函数内可以引用const数据成员,也可以引用非const数据成员,但不能修改非const数据成员的值,也不能调用非const成员函数;

3.const成员函数在声明和定义的时候都必须加上const

 

原文链接:http://www.maiziedu.com/wiki/cplus/const/

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值