C++中,这个const加的有什么意义?

#include<iostream>usingnamespacestd;classA{public:A(){x=newint;*x=5;}~A(){}A(constA&a... #include <iostream>
using namespace std;
class A
{
public:
A(){x=new int;*x=5;}
~A(){}
A(const A&a){x=new int;*x=(*a.x);}
void set(int i){*x=i;}
int print()const{return *x;}
private:
int *x;
};
int main()
{
A*a=new A;
cout<<"a:"<<a->print()<<endl;
A b(*a);
b.set(9);
cout<<"b:"<<b.print()<<endl;
return 0;
}
就是print后面的那个const,我感觉是可有可无的啊,如果不是可有可无的,那么为什么?
展开
 我来答
shejizhe08
2013-02-27 · TA获得超过253个赞
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:168万
展开全部
这里的const表示这个方法不可以改变对象的属性
也就是说在print中不可以改变x这个属性
主要是给调试编程提供便利
加上了这个const之后,如果print方法中本来不应该改变x,但是写程序时,不小心改变了
这是编译器会报错,

一句话,规范了编程
上海莘默
2024-04-12 广告
莘默(上海)自动化设备有限公司成立于2016年3月,是中国工控领域的领先分销商,专业从事欧美工控自动化产品的贸易。主要经营欧美各国知名品牌的高精密编码器、传感器、仪器仪表、阀门、泵、电机以及各类自动化产品。服务于冶金,汽车,化工,食品,能源... 点击进入详情页
本回答由上海莘默提供
qipilangfour
2013-02-27 · TA获得超过232个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:131万
展开全部
有意义,就看怎么用了,举一例
const与类成员函数。先看看下面这段代码:
  const Stock land =Stock("hyd");
  land.show();
  land 是常量,但是类成员函数show无法保证不修改land,所以编译器将拒绝执行该段代码。除非你能保证show像const函数一样,但这需要另外一种语法,即:
  void show() const;(声明)
  void Stock::show() const{}(定义)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
persueadream
2013-02-27
知道答主
回答量:13
采纳率:0%
帮助的人:1.9万
展开全部
哥们告诉哥出处?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式