以下是示例代码:
class B{
A* get(){
if(...) return ((D*)this)->get();
else return NULL:
}
}
class D : public B{
A* a;
A* get(){return a};
}
this
会打电话给什么? B::get()
或D::get()
。
如果会调用D::get()
。
然后,如果de_func
仅在Derive中定义,((Derive*)this)->de_func()
会调用什么?
答案 0 :(得分:2)
D::get()
投射到this
后, D*
。
this->get()
如果您不投稿,则会致电B::get()
。