3
我使用多重繼承這樣的:破壞者:虛擬還是不是?
struct A {
virtual ~A(){}
};
struct B {
virtual void foo() = 0;
protected:
~B(){} // never called directly
};
struct C : public A, public B {
virtual void foo(){};
};
應的B
析構函數進行虛擬的或沒有?一方面,所有其他析構函數在這裏都是虛擬的。另一方面,虛擬構造函數可能會涉及一些成本,爲什麼不保存呢?
因爲節約幾乎沒有 –