作者seeulin (My Way)
看板GameDesign
標題[程式] 請問一下C++繼承的問題
時間Wed Feb 18 01:04:48 2009
class TestA
{
public:
virtual void Foo(int i) {printf("TestA::Foo %d\n", i);}
virtual void Foo(char *s) {printf("TestA::Foo %s\n", s);}
};
class TestB : public TestA
{
public:
virtual void Foo(int i) {printf("TestB::Foo %d\n", i);}
};
int main()
{
TestA a;
TestB b;
a.Foo(1);
a.Foo("Call A");
b.Foo(2);
b.Foo("Call B");
}
以上程式碼在編譯時期會發生錯誤
錯在b.Foo("Call B")的部分
但是將TestB的Foo function拿掉的話
就可以正常執行
請問版上的高手能夠幫忙解答一下嗎?
小弟實在百思不得其解啊...
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.115.179.170
1F:推 anakin2:都用 c++了 別再用printf這種傷眼睛的東西好嗎? 02/18 18:21
2F:推 BSpowerx:printf很nice的、樓上一定有什麼誤會 02/18 18:25
3F:→ godfat: printf很nice的、樓上一定有什麼誤會 02/18 19:06
4F:→ asoedarren:我猜他說的傷眼應該是指型態判別吧 聞到濃濃的戰意 02/18 19:11
5F:推 jellyice:printf很nice的、樓上一定有什麼誤會 02/18 20:14
6F:→ realmeat:printf很nice的、樓上一定有什麼誤會 02/18 22:18
7F:→ HudsonE: printf很nice的、樓上一定有什麼誤會 02/18 22:27
8F:→ wupojung:printf很nice的、樓上一定有什麼誤會 02/19 00:01
9F:→ wupojung:話說...cin cout 強的是 串流的概念><: XD 02/19 00:01
10F:推 jimmycool:rintf很nice的、樓上一定有什麼誤會 02/19 08:38
11F:→ mellean: printf很nice的、樓上一定有什麼誤會 02/19 21:49
12F:→ Splash5: printf很nice的、樓上一定有什麼誤會 原來printf很傷眼 02/19 22:24
13F:→ COLDTURNIP:intf很nice的、樓上一定有什麼誤會 02/22 05:11