作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/08 03:26:38
C++类中的定义的变量是什么属性?和主函数中直接定义的变量有冲突吗?和类成员函数中的变量有冲突吗?
类中直接定义的变量和成员函数中定义的变量有冲突吗?可以重名吗?重名的话,谁优先级高?
没有冲突,他们是变量,不存在优先级的问题,但是他们的生存期不同,使用时,代码的形式也不同.比如:类poin的对象为m_poin,里面有成员变量a,主函数中也有变量a,那么我们使用时,a=2,指的就是主函数中的变量a,而m_poin.a=2指的则是类的对象中的成员变量a.成员函数中的变量只在调用函数时生存,并且是函数自己使用,我们只需调用成员函数即可,不用关心(事实上根本无法使用)成员函数内部的变量如何产生或消亡.
再问: 那类中和成员函数中不冲突就可以,一般的教材上讲的主函数和自定义的函数,执行函数时自定义函数中的变量优先级别高,可是没讲类中直接定义和成员函数中的,当执行一个对象的成员函数时,类中直接定义的如果重名该怎么处理?很多时候考虑到可读性命名要有一定的意义,有时候需要重复
再答: 一定要重复的话,最好加下划线及前缀或后缀来区分,这个一般没别的办法。
再问: 嗯好的,那重复的话从语法角度没影响吧?
再答: 没影响,只是要注意优先级,否则会运行出错误结果,问题也难以被发现
再问: 嗯好的