class a;
{}
class b:public a
{
public:
void ok(this)
}
我想问在一个子类中的this指针指向的是子类本身的对象还是基类的对象?
如果是基类的对象的话如果基类上面还有一个基类,是不是指向基类的最上面的对象?

解决方案 »

  1.   

    this指针指向的是本类的对象,也就是指向的子类
      

  2.   

    this指向的是本身的对象,但是通过它可以调用基类的函数,至于为什么能实现这样的操作,可以看看类对象的内存布局资料,楼主就恍然了
      

  3.   

    我想问在一个子类中的this指针指向的是子类本身的对象还是基类的对象? 
    =================================
    这个问题根本就不通,this是指向对象的,又不是指向类的,当你定义一个class b的对象之后,这里只有一个对象,this就是指向这个对象,根本就没有基类的对象.
      

  4.   

    this指针指向的是子类的对象,看继承机制就会明白,看内存结构就能举一反三。
      

  5.   

    this指针是一个隐含于每一个成员函数中的特殊指针。它是一个指向正在被该成员函数操作的对象,也就是要操作该成员函数的对象。 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数,每次成员函数存取数据成员时,由隐含作用this指针。而通常不去显式地使用this指针来引用数据成员。同样也可以使用*this来标识调用该成员函数的对象。 一个类可以有多个对象,每个对象通过this加以区别。