聽1聽聽聽聽聽#include聽<聽iostream聽>
聽2聽
聽3聽聽聽聽聽using聽namespace聽std;
聽4聽
聽5聽聽聽聽聽class聽base{
聽6聽聽聽聽聽public:
聽7聽聽聽聽聽聽聽聽聽virtual聽void聽f(char聽i){
聽8聽聽聽聽聽聽聽聽聽聽聽聽聽cout聽<<聽"Base聽class:聽"聽<<聽i聽<<聽endl;
聽9聽聽聽聽聽聽聽聽聽};
10聽聽聽聽聽聽聽聽聽virtual聽void聽f(double聽d){
11聽聽聽聽聽聽聽聽聽聽聽聽聽cout聽<<聽"Base聽class:聽"聽<<聽d聽<<聽endl;
12聽聽聽聽聽聽聽聽聽}
13聽聽聽聽聽};
14聽
15聽聽聽聽聽class聽derived聽:聽public聽base{
16聽聽聽聽聽public:
17聽聽聽聽聽聽聽聽聽void聽f(char聽i){
18聽聽聽聽聽聽聽聽聽聽聽聽聽cout聽<<聽"Derived聽class:聽"聽<<聽i聽<<聽endl;
19聽聽聽聽聽聽聽聽聽}
20聽聽聽聽聽};
21聽
22聽聽聽聽聽int聽main(int聽argc,聽char**聽argv)
23聽聽聽聽聽{
24聽聽聽聽聽聽聽聽聽base聽*pb聽=聽new聽derived;
25聽聽聽聽聽聽聽聽聽pb->f(2.0);
26聽聽聽聽聽聽聽聽聽delete聽pb;
27聽聽聽聽聽聽聽聽聽return聽0;
28聽聽聽聽聽}
29聽
寮濮嬬殑鏃跺欐劅瑙夋湁鐐硅糠鎯戯紝琚皟鐢ㄧ殑鏄?base 鐨?f 鍛紵榪樻槸 derived 鐨?f錛堥渶瑕佽繘琛屽弬鏁扮被鍨嬭漿鎹級銆傚疄楠岃瘉鏄庯紝琚皟鐢ㄧ殑鏄?base 鐨?f銆?/p>
鍥犱負閲嶈澆鏄牴鎹潤鎬佺被鍨嬫潵閫夋嫨鍑芥暟鐨勶紝浜﹀嵆鐢?pb 鏈韓鐨勭被鍨嬫潵鍐沖畾銆傝岃櫄鎷熷垯鏄牴鎹姩鎬佺被鍨嬫潵閫夋嫨鍑芥暟錛岀敱 pb 鎸囧悜鐨勫璞$被鍨嬪喅瀹氥傚洜姝ょ紪璇戝櫒棣栧厛鏍規嵁閲嶈澆鏉ラ夋嫨涓涓熀綾葷殑鍑芥暟錛屽鏋滆鍑芥暟涓鴻櫄鎷熷嚱鏁頒笖琚淳鐢熺被瀹炵幇錛屽垯鍐嶉氳繃澶氭佹満鍒惰皟鐢ㄦ淳鐢熺被鍑芥暟銆?/p>