#include <iostream>
using namespace std;
class Test
{
public:
Test(int a, int b) //---> Test(Test *this, int a, int b)
{
this->a = a;
this->b = b;
}
void printT()
{
cout << "a: " << a << endl;
cout << "b: " << this->b << endl;
}
//1 const 写的什么位置 没有关系
//2 const修饰的是谁?
// 2-1const修饰的是形参a 不是
// 2-2const修饰的是属性this->a this->b
// 2-3 const修饰的是this指针所指向的内存空间, 修饰的是this指针
void OpVar(int a, int b) const //==>void OpVar(const Test *this, int a, int b)
//==>void OpVar( const Test *const this, int a, int b)
{
a = 100;
// this->a = 100; //这句话会报错,因为const修饰了this指针指向的内存空间,其实不能修改的
//this->b = 200;
//this = 0x11;
//cout<<"a: " <<a <<endl;
cout << "b: " << this->b << endl;
}
protected:
private:
int a;
int
面向对象模型this指针练习
最新推荐文章于 2021-06-20 17:00:18 发布