申論題內容
三、考慮下列 C++程式片段:
class B {
public:
virtual char f( ) { return ‘B’; }
char g( ) { return ‘B’; }
char testF( ) { return f( ); }
char testG( ) { return g( ); }
}
class D: public B {
char f( ) { return ‘D’; }
char g( ) { return ‘D’; }
}
main( ) {
D d;
print d.testF( ), d.testG( );
}
請說明其動態繫結(dynamic binding)執行之情形。(20 分)