第六周项目1 撞错的心思

本文通过C++代码示例介绍了如何使用常对象(const)及mutable关键字。演示了如何在不改变常对象本质的前提下修改其mutable成员变量。

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

#include<iostream>
#include<stdlib.h>
using namespace std;
class C
{
private:
	int x;
 public:
	C(int x){this->x = x;}
	int getX(){return x;}
};
int main()
{
	const C c(5);
	cout<<c.getX();
	return 0;
}


原代码中const c是个常对象,是无法访问他的成员函数,只有在把他的成员函数定义成为const函数时才能允许访问,当然去掉const把c'定义成为普通对象也是可以访问的

还有定义完成员函数之后还想改变其中的值,把x定义成为mutable就行,如下是几种改变方式还有运行结果:

#include<iostream>
#include<stdlib.h>
using namespace std;
class C
{
private:
	mutable int x;
 public:
	C(int x){this->x = x;}
	int getX()const {
	    x=3;
	    return x;
	    }
};
int main()
{
	const C c(5);
	cout<<c.getX();
	return 0;
}

运行结果:

当然有些挂羊头卖狗肉的感觉

 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值