案例-1:以下哪種情況下需要虛擬析構函數?
基類有一個動態分配的變量,但派生類不然後我做的:
Base* p = new Derived;
delete p;
案例-2:
兩個基類和派生類有動態分配的變量(派生有除了那些繼承的附加動態分配的變量)。 同樣,我做的:
Base* p = new Derived;
delete p;
案例3: 基類有沒有動態分配的變量,但得到的一個呢。我再次這樣做:
Base* p = new Derived;
delete p;
情況-4:鹼基和派生類都沒有任何動態分配的變量。我也是這樣做的:
Base* p = new Derived;
delete p;
或者它會在所有情況下導致未定義的行爲,如果虛擬關鍵字被忽略?
你自己做作業和學習東西如何? :-) – Waldheinz 2015-04-03 16:55:31