I ibear Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-17 #1 在bcb,有何法来达到delphi中的inherited关键字一样的效果, 即子类中的某个方法中,如果父类中实现了该方法, 就在什用该关键字的地方调用该方法;如果没有就照常执行。
J jsxjd Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-17 #2 在VC中是这样的,调用基类的相同方法: MyClass::Method(...) { ....... CBaseClass::Method(....); ....... }
雨 雨人 Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-17 #3 楼上回答的对,在子类方法中调用父类的方法 一般的c++书上的必将内容呀
I ibear Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-24 #4 在delphi中: procedure TSomeClass.SomeMothed; begin ... inherited; ... end; 当TSomeClass的基类中实现了该方法的话,将在inherited处调用该方法;否则就忽略。 但在c++中: void TSomeClass::SomeMothed(void) { ... TBaseClass::SomeMothed(); ... } 如果基类中实现了该方法的话,没问题; 但要是基类中没有实现该方法,上述代码显然连编译也不能通过的, 因此问题的关键是如何在c++(BCB)中实现delphi的继承方式!
在delphi中: procedure TSomeClass.SomeMothed; begin ... inherited; ... end; 当TSomeClass的基类中实现了该方法的话,将在inherited处调用该方法;否则就忽略。 但在c++中: void TSomeClass::SomeMothed(void) { ... TBaseClass::SomeMothed(); ... } 如果基类中实现了该方法的话,没问题; 但要是基类中没有实现该方法,上述代码显然连编译也不能通过的, 因此问题的关键是如何在c++(BCB)中实现delphi的继承方式!
J jsxjd Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-24 #5 基类没有实现该方法,你当然不能调用。 再说基类没有实现,何谓“继承”? 基类没有该方法,你就写自己的代码,也可以调用其它的基类方法。