class C1 {
void A();
void B();
}
void C1::A(){ return B(); }
class C2 : public C1 {
void B();
}
C2 *obj = new C2;
obj->A(); // returns B() from C1
調用子類的功能爲什麼B()從C1叫什麼名字?如何使A()僅在C1中存在並從C2中調用B()?繼承。從父類
class C1 {
void A();
void B();
}
void C1::A(){ return B(); }
class C2 : public C1 {
void B();
}
C2 *obj = new C2;
obj->A(); // returns B() from C1
調用子類的功能爲什麼B()從C1叫什麼名字?如何使A()僅在C1中存在並從C2中調用B()?繼承。從父類
會員的方法不是virtual
默認在C++(你來自Java的)?
當你寫:
class C1 {
void A();
void B();
}
class C2 : public C1 {
void B();
}
你不在C2
覆蓋B()
,但隱藏它。
若要覆蓋它,您必須在基類中聲明它爲virtual
(虛擬在後續的類中是不必要的)。
你不需要在'C2'中的'C2'之後寫'()' – Shahbaz 2012-03-28 13:28:19
@Shahbaz - fixed) – Eddie 2012-03-28 13:29:40