标签:public ali return names include pac 存放位置 结构体 参数
如果这一章不适合你, 你可以查看 C++指针目录
在上一章中, 我们了解到了 结构体与类中的指针的用法, 本章必须在熟悉其用法之后开始
我们在类或结构体中, 可能难免会碰到这样的情况 (例如存放位置信息的类):
1 #include <iostream> 2 using namespace std; 3 class POS 4 { 5 private: 6 int x,y; 7 public: 8 POS(int x,int y)//BUG!!! 9 { 10 x=x; 11 y=y; 12 } 13 }; 14 int main() 15 { 16 POS p(10,10); 17 return 0; 18 }
现在, 我们会发现, 在构造函数中, x与y 指代不明
尽管说这段代码可以正常运行, 但是最后的结果就不一定了
因为编译器不知道 x, y指的是函数的参数还是成员变量
这时候,我们需要引入一个 this 指针
这个指针指向的是当前结构体或类(不能在结构体或类的外部使用)
于是就可以将上面的代码修改一下:
1 #include <iostream> 2 using namespace std; 3 class POS 4 { 5 private: 6 int x,y; 7 public: 8 POS(int x,int y) 9 { 10 this->x=x; 11 this->y=y; 12 } 13 }; 14 int main() 15 { 16 POS p(10,10); 17 return 0; 18 }
这下编译器就知道我是想将 成员变量x, y分别设置成函数传入的参数x, y
this 的用法很简单, 关键是要看指针掌握的程度, 如果很陌生的话推荐看以下两篇:
标签:public ali return names include pac 存放位置 结构体 参数
原文地址:https://www.cnblogs.com/tweechalice/p/11441925.html