黑马程序员技术交流社区

标题: 成员变量的问题 [打印本页]

作者: yaozeyang_2014    时间: 2014-3-23 11:08
标题: 成员变量的问题
本帖最后由 yaozeyang_2014 于 2014-3-24 14:07 编辑

在一个类的成员变量里,类型不同,变量名相同可以吗?如果不可以,为什么呢?
  1. int _weight;
  2. double _weight;
复制代码

作者: 周宇华    时间: 2014-3-23 11:13
当然不可以了。因为下面的代码要使用的话就只是写变量_weight,这样编译器就无法知道到底用的是哪个类型的_weight了。
作者: FlyTrem    时间: 2014-3-23 17:56
在行为实现,在函数中,一个结构体定义的内部成员名,一个类的内部成员的声明,总之一个完整的程序运行时不允许变量名相同,即使类型不同也是不可以的。如果相同则会引起编译的混乱,当程序引用时不知用哪个变量而出现错误。不同的函数中定义的局部变量名可以重复使用的。如果定义了全局变量,那么在函数中也不可以重新定义同变量名的其它变量!
如:
int text()
{
int a;
}
int main()
{
int a;//这里面是不允许在次出现声明变量名为a的变量
}
作者: 黑马IT男    时间: 2014-3-24 10:48
在一个类里面,定义的全局变量名相同,类型不同,当然不行了。因为当程序一开始执行的时候就在内存中给他分配空间,你分配的空间存储的数据不一样,但内存中的变量名一样,他就不知道找哪一个变量,你再把局部变量和成员变量以及变量如何在内存中分配的相关视频好好看一下吧,毕向东老师讲的有





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2