this只有一个但this类型不一样所以值不一样。加上中间的很多隐藏转换
在类函数调用的时候会将当前对象的地址赋给this,而且const <T*>this = (T*)_this每一次类函数调用都会有这一步。
编译器,根据子类对象布局中,父类子对象,在子类对象的位置(偏移量),找到父类子对象的地址(子类对象地址 + 偏移量)。
并把这个地址传递给父类构造函数,作为 this指针参数,这就是调用父类构造函数的全部过程。
继承中,先有父再有子,先构建父类再构建子类(在父类基础上),而构建之时,需要指向其自身的this指针来操作数据,故指针先指向父类再指向子类,也就是说指向当前类(其实子类还没构建时,也只有指向父类了吧)
以上为个人理解。