C++中同一类中参数名和变量名相同时出错,解决办法有两种

class A{
    
int p;
    
void fun(int p){
        
= p;
    }
}

例如上面的这个例子:如果以后获取A类对象的整形变量p的值时,系统会重新拟一个默认值如:-838232304等等。

解决办法有两个,其一通过this指针

class A{
    
int p;
    
void fun(int p){
         
this->= p;
    }
}

 

其二:通过改变参数名称

 

class A{
    
int p;
    
void fun(int p1){
         p 
= p1;
    }
}

 

 

这种问题在高级语言中一般不会有问题,但是在c、c++中还是尽量养成参数名不要和变量名称相同的习惯。

posted on 2010-07-26 15:44  lumnm  阅读(531)  评论(0编辑  收藏  举报

导航