class A{
int p;
void fun(int p){
p = p;
}
}
int p;
void fun(int p){
p = p;
}
}
例如上面的这个例子:如果以后获取A类对象的整形变量p的值时,系统会重新拟一个默认值如:-838232304等等。
解决办法有两个,其一通过this指针
class A{
int p;
void fun(int p){
this->p = p;
}
}
int p;
void fun(int p){
this->p = p;
}
}
其二:通过改变参数名称
class A{
int p;
void fun(int p1){
p = p1;
}
}
int p;
void fun(int p1){
p = p1;
}
}
这种问题在高级语言中一般不会有问题,但是在c、c++中还是尽量养成参数名不要和变量名称相同的习惯。