C++ 常对象做函数参数问题

func1(constPoint&p1)和func2(Point&p1)这两种函数参数写法的区别在哪里?对func1(constPoint&p1)调用时,实参用常对象做参... func1(const Point & p1)和func2(Point & p1)这两种函数参数写法的区别在哪里?对func1(const Point & p1)调用时,实参用常对象做参数和普通对象都可以吗?常对象不能访问非常成员函数,在func1中,p1是否能像普通对象一样访问各类非常成员函数? 对func(Point & p1)调用时只能用普通对象做实参? 展开
 我来答
夕攸能曼衍
2019-01-17 · TA获得超过3788个赞
知道大有可为答主
回答量:3160
采纳率:27%
帮助的人:425万
展开全部
func1(const
Point
&
p1)和func2(Point
&
p1)这两种函数参数写法的区别在哪里?

:
fun1保证实参在函数调用后不会被改变,
如果函数体内试图改变p1,编译器会报错.
对func1(const
Point
&
p1)调用时,实参用常对象做参数和普通对象都可以吗?
答:
都可以
常对象不能访问非常成员函数,在func1中,p1是否能像普通对象一样访问各类非常成员函数?
答:
正常情况不能.
但可以用const_cast强制转换,
尽量不要用.
对func(Point
&
p1)调用时只能用普通对象做实参?
答:
是的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式