【C++学习笔记】常对象成员

本文深入探讨C++中常数据成员的定义及初始化规则,解析常成员函数的特性与限制,以及如何在类中正确使用常对象。通过实例演示常数据成员必须在定义时初始化,并且只能通过构造函数的初始化列表进行赋值;同时,常成员函数不能修改对象的数据成员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导语

之前我们提到了const修饰符,说到const修饰符可以代替define,实现对常量的更安全的定义,这次我们来讲讲如果在类里面定义常对象或者常成员会出现什么。

常数据对象

**形式:**与一般数据成员定义类似,只用在前面加const关键字就好了,例如:const int x=2;

注意点:
1.在定义时一定要对x先说明初值
2.如果在类中说明了常数据成员,那么构造函数只能
通过初始化列表对该数据成员进行初始化,任何其他函数都不能对该成员赋值。
例:
在这里插入图片描述
这里我对构造函数进行一次重构,第一个Human构造函数通过参数列表传递数据,Xcode不会报错,第二次在函数内部进行修改就不行了。之后我企图在其他函数中对gender进行修改,系统统统报错。

常成员函数

形式
类型说明符 函数名(参数表)const;
例如:
int get_gender() const{return gender;}
注意
1.如果一个对象说明为常对象,则通过该对象只能调用它的常成员函数,而不能调用普通成员函数。
2.常成员函数不能更新对象的数据成员
(也就是说,一个成员函数一旦定义成了一个常函数,它只能引用,而不能修改任何一个数据成员

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值