问一个this指针的有关问题,迷惑!

问一个this指针的问题,迷惑!!
情况:
class   A
{
      Create(this)
      {......}
}
class   B   :   Public   A
{
      Fun()
      {
          A::Create(this);//B在此调用基类A的这个函数.
      }
}
那么,我在另一个模块C中:
B   b;
b.Fun();
问题是:在Fun()中调用的A::Create(this)中传进去的this指针到底是不是指向B对象的指针呢??还是一个指向A对象的??迷惑!!

------解决方案--------------------
你是不是想写一个builder?
你的定义写的也有问题

class A
{
static void Create(A*)
{......}

void Create(void)
{总是修改自己还传什么this指针?}
}
class B : Public A
{
Fun()
{
A::Create(this);//B在此调用基类A的这个函数.
}
}

objb.Fun()的话传入的是objb,但是会被隐式转化为一个A的指针

------解决方案--------------------
派生类直接调用基类的这个函数,执行的是基类的函数。
如果想让基类的指针调用子类的函数,请用虚函数
------解决方案--------------------
没太看懂你为什么要用this指针做参数
但是下面几点是肯定的
1. 编译器会根据函数原型做一定的cast,所以最终真正压栈的并不一定是你看到的this指针
2.
B::Fun()
{
A::Create(this);//B在此调用基类A的这个函数.
}
在调用A::Create()前会对ECX做运算,最后放入ECX的实际是A的指针