this指针

this指针

1
2
3
4
5
6
7
8
9
10
11
12
#ifndef THIS_TEST_H
#define THIS_TEST_H

class ThisTest
{
public:
void func1(int a,int b);
static void func2();
private:
int a;
};
#endif // !THIS_TEST_H
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "this_test.h"
#include<iostream>
#include<complex>
using namespace std;


void ThisTest::func1(int a, int b)
{
cout << this << endl;
cout << this->a << endl;
this->a = a;//同名用this
cout << this->a << endl;
a = b;
cout << a << endl;
cout << (*this).a << endl;
}

void ThisTest::func2()
{
//cout << this->a << endl;//错误:this只能作用与非静态成员函数的内部
}