C++的this指针
this指针
#include <iostream>
using namespace std;
class A
{
private:
int i;
public:
void Hello()
{
cout << "Hello" << endl;
}
};
int main()
{
A *p = NULL;
p->Hello();
}
这段程序的输出是
Hello
void Hello()
{
cout << "Hello" << endl;
}
被翻译为:
void Hello(A* this)
{
cout << "Hello" << endl;
}
p->Hello();
被翻译为
Hello(p);
所以p指向一个NULL指针时,也可以正常输出。