this指针
例
class Human
{
char fishc;
Human(char fishc);
}
Human::Human(char fishc)
{
fishc = fishc;
}
Human()
构造器有一个名为fishc的参数,虽然它与Human类里面的属性同名,但却是不相干的两样东西,所以并没有错.怎样让构造器知道哪个是参数,哪个是属性呢?
这时候就需要用到this指针 : this-> fishc = fishc
- 通过上述语句,编译器就知道赋值操作符左边将被解释为当前对象的fishc属性,右边将被解释为构造器传入来的fishc参数
- 注意:使用this指针的基本原则是:如果代码不存在二义性隐患,就不必使用this指针。