C++类中的定义的变量是什么属性?和主函数中直接定义的变量有冲突吗?和类成员函数中的变量有冲突吗?

类中直接定义的变量和成员函数中定义的变量有冲突吗?可以重名吗?重名的话,谁优先级高?... 类中直接定义的变量和成员函数中定义的变量有冲突吗?可以重名吗?重名的话,谁优先级高? 展开
 我来答
百度网友01b5174
2012-12-14 · TA获得超过387个赞
知道答主
回答量:123
采纳率:0%
帮助的人:76.7万
展开全部
没有冲突,他们是变量,不存在优先级的问题,但是他们的生存期不同,使用时,代码的形式也不同。比如:类poin的对象为m_poin,里面有成员变量a,主函数中也有变量a,那么我们使用时,a=2,指的就是主函数中的变量a,而m_poin.a=2指的则是类的对象中的成员变量a.成员函数中的变量只在调用函数时生存,并且是函数自己使用,我们只需调用成员函数即可,不用关心(事实上根本无法使用)成员函数内部的变量如何产生或消亡。
更多追问追答
追问
那类中和成员函数中不冲突就可以,一般的教材上讲的主函数和自定义的函数,执行函数时自定义函数中的变量优先级别高,可是没讲类中直接定义和成员函数中的,当执行一个对象的成员函数时,类中直接定义的如果重名该怎么处理?很多时候考虑到可读性命名要有一定的意义,有时候需要重复
追答
一定要重复的话,最好加下划线及前缀或后缀来区分,这个一般没别的办法。
qianlima786
2012-12-10 · TA获得超过177个赞
知道小有建树答主
回答量:145
采纳率:0%
帮助的人:137万
展开全部
在主函数中实例化一个类的对象并调用其方法,变量的可见性依次为方法中的变量,类的成员变量,调用函数变量,相同类型的变量,可见性高的会覆盖掉低的。比如你在方法,类,调用函数中均声明了变量a,方法中可以用a=10,来初始化方法中的变量a,this->a=10,可以用来初始化类中的变量a,调用函数中的变量在类和方法中是不可见的,因此无法访问。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
城郊园
2012-12-10 · 贡献了超过116个回答
知道答主
回答量:116
采纳率:0%
帮助的人:19.8万
展开全部
没有,成员函数中的变量仅限于函数中可以不赋初值,类中定义的变量应用于整个类,需要赋初值
优先权大,然而尽量不要重名。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
渐渐的讨厌喧闹
2012-12-10
知道答主
回答量:2
采纳率:0%
帮助的人:2.8万
展开全部
一般情况下,没人会重命名的。这样做是不正确的。 为了方便以后修改,建议你不重复,这样有利于以后修改。冲突还是会有的,可能导致程序无法正常运行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
koko200147
2012-12-10 · TA获得超过282个赞
知道小有建树答主
回答量:600
采纳率:0%
帮助的人:287万
展开全部
根据作用域来的,具体查资料。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式