C++对象与this指针

C++对象与this指针

1.内存中的对象

  1. 同类的不同对象数据独立,每一个对象都有独立的单元存储对象的数据成员
  2. 同类对象共享成员函数的代码块

既然所有对象共享函数,那么,怎么知道那个对象在调用呢?

2.this指针指向的对象调用成员函数

函数调用时,object.function(),会将指向object的一个指针作为隐藏的参数传给function,,这样,函数就明白是那个对象在调用.这个隐藏参数,在函数中显式的用this表示

class A{

private:
    int a, b;
public:
    A(int a = 0, int b = 0);
    A *getP();      //返回对象地址
};

A::A(int a, int b){ //这里的a, b是局部变量
    this->a = a;    //this->a, 表示this指向的对象的a成员
    this->b = b;
}
A *A::getP(){
    return this;    //返回调用这个函数的对象的地址
}

猜你喜欢

转载自blog.csdn.net/qq2071114140/article/details/89143174
今日推荐