我有2個類,A
和B
,我需要從A
的構造函數調用B
中的覆蓋函數。以下是我已經:從基類派生的C++調用覆蓋函數
class A {
A(char* str) {
this->foo();
}
virtual void foo(){}
}
class B : public A {
B(char* str) : A(str) {}
void foo(){
//stuff here isn't being called
}
}
如何我會得到的代碼是在B::foo()
從A::A()
叫什麼名字?
不要在構造函數中使用虛函數。當構造B時,首先構造A。此時B的額外方法/變量尚未建立。所以事情可能會非常糟糕。 –