[問題] virtual的用法?

看板C_and_CPP (C/C++)作者 (rosemary0401)時間15年前 (2010/11/25 23:18), 編輯推噓6(602)
留言8則, 7人參與, 最新討論串1/1
在使用virtual function上,小妹在網路上常看到兩種不同的版本 版本一: class animal { public: virtual void eat() { cout << "eat generic animal" << endl; } }; class cat : public animal { public: void eat() { cout << "eat fish" << endl; } }; 版本二: class animal { public: virtual void eat() { cout << "eat generic animal" << endl; } }; class cat : public animal { public: virtual void eat() { cout << "eat fish" << endl; } }; 請問哪個版本才是正確的呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.240.220.224

11/25 23:19, , 1F
都正確 版本二會讓你看 Code 時腦袋有更多資訊
11/25 23:19, 1F

11/25 23:21, , 2F
前幾篇才有討論
11/25 23:21, 2F

11/25 23:29, , 3F
推女生!! >\\\<
11/25 23:29, 3F

11/26 00:48, , 4F
我一直以為第二版本才容許cat的child去override..
11/26 00:48, 4F

11/26 00:50, , 5F
只要函數名稱一樣,且參數也一樣,就會override基類虛函數
11/26 00:50, 5F

11/26 01:19, , 6F
關鍵字是"小妹"而不是"virtual"喔? XD
11/26 01:19, 6F

11/26 12:35, , 7F
關鍵字!
11/26 12:35, 7F

11/26 13:14, , 8F
樓上正妹
11/26 13:14, 8F
文章代碼(AID): #1CxdvMEr (C_and_CPP)
文章代碼(AID): #1CxdvMEr (C_and_CPP)