c++知识点(三)

1.常对象、常对象成员(常数据成员、常成员函数)

1.1 常对象

常对象必须在定义对象时就指定对象为常对象,常对象中的数据成员为常变量且必须要有初始值。如

Time const t1(12,34,56);

这样的话,在所有的场合中,对象t1中的所有数据成员的值都不能被修改。凡希望保证数据成员不被改变的对象,可以声明为常对象。

定义常对象的一般形式为

类名    const    对象名(实参列表);

也可以把const写在最左面

const    类名    对象名(实参列表);

1.2 常数据成员

其作用和用法与一般常变量相似,用关键字const来声明常数据成员。常数据成员的值是不能改变的。只能通过构造函数的参数初始化表对常数据成员进行初始化。

在类体中声明常数据成员:

  1. const int num;//声明hour为常数据成员  

在类外定义构造函数

  1. Student::Student(int n,float s):num(n),score(s){} //通过参数初始化表对常数据成员num和score初始化  

1.3 常成员函数

如果将成员函数声明为常成员函数,则只能引用本类中的数据成员,而不能修改它们。

注意:常对象只能引用常成员函数

常成员函数的定义形式:

             void Print() const;  //注意const的位置在函数名和花括号之后

const是函数类型的一部分,在声明函数和定义函数都要有const关键字,在调用时不必加const。

常成员函数可以引用const数据成员,也可以引用非const数据成员,但是都不能修改他们;

不是常成员函数的函数可以调用const数据成员,但是不能修改它们,也可以调用非const数据成员,并且可以修改它们。

常对象只能调用常成员函数,非常对象会优先调用非常成员函数,如果没有 则会调用常成员函数

2. 常指针与常引用

https://www.cnblogs.com/kkdd-2013/p/5456776.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值