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