[問題] 不了解這個程式的輸出結果
#include <iostream.h>
class A{
public:
A() {};
virtual void methodOne(){ cout<<"A's methodOne" << endl; }
void methodTwo(){ cout <<"A's methodTwo" << endl; }
};
class B : public A{
public:
B() {};
virtual void methodOne(){ cout<<"B's methodOne" << endl; }
void methodTwo(){ cout <<"B's methodTwo" << endl; }
};
void main()
{
A *ptr = new B();
ptr ->methodOne();
ptr ->methodTwo();
delete ptr;
}
輸出結果如下:
B's methodOne
A's methodTwo
Press any key to continue
為什麼ptr ->methodTwo() 輸出結果是 A's methodTwo
而不是 B's methodTwo呢???
小弟不才~~請高手們賜教
謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.164.4.2
→
09/26 16:52, , 1F
09/26 16:52, 1F
→
09/26 16:52, , 2F
09/26 16:52, 2F
→
09/26 16:53, , 3F
09/26 16:53, 3F
→
09/26 17:25, , 4F
09/26 17:25, 4F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章