Re: [閒聊] 今天面試問的問題
看板C_and_CPP (C/C++)作者allstarschh (allstars)時間14年前 (2011/12/16 01:49)推噓5(5推 0噓 20→)留言25則, 4人參與討論串2/2 (看更多)
我看到這篇舊的文章
但不太清楚pa->f(1.0)的行為
我跑的結果是A::f(double)
前面的
b.f(1.0)會call B::f(complex<double>)
如果是因為A::f(int) A::f(double) 被hide
所以只能B:f(complex<double>) by implict type coversion
那同樣原因的話
pa->f(1.0) 為什麼會call到A::f(double)
A::f不是被hide了???
如果這裡A::f沒有被hide的話 為什麼這情況不會被hide??
這個case B::f(comple<double>)算有override A::f(double)嗎???
(implict type conversion)
如果不是override的話
那pa裡的vtable A::f(double)還在
所以從vtable 找到A::f(double)
但如果是override的話
他又是如何call到A::f(double)的?
可以說明一下為什麼會call 到A::f(double)呢
謝謝
※ 引述《cplusplus (沒事多聊天~ 歡迎打屁)》之銘言:
: 其中一題,我覺得蠻有趣的
: class A
: {
: public:
: virtual void f(int);
: virtual void f(double);
: virtual void g(int i=10);
: virtual void h();
: };
: class B: public A
: {
: public:
: void f(complex<double>);
: void g(int i=20);
: void h(int);
: };
: int main()
: {
: A a;
: B b;
: A *pa=new B();
: B *pb=new B();
: a.f(1.0);
: b.f(1.0);
: pa->f(1.0);
: a.g();
: b.g();
: pa->g();
: pb->g();
: a.h();
: b.h();
: pa->h();
: pb->h();
: delete pa;
: delete pb;
: return 0;
: }
: 以上的每個member function call實際上是呼叫到哪個實體? 傳入的參數是?
: 有可能出現甚麼問題呢?
: 不會很難(因為我都會,顆顆XD),
: 但是觀念要有。大家可以無聊看看。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.135.229
推
12/16 02:13, , 1F
12/16 02:13, 1F
→
12/16 02:14, , 2F
12/16 02:14, 2F
→
12/16 02:14, , 3F
12/16 02:14, 3F
→
12/16 02:15, , 4F
12/16 02:15, 4F
→
12/16 12:47, , 5F
12/16 12:47, 5F
推
12/16 13:07, , 6F
12/16 13:07, 6F
→
12/16 13:08, , 7F
12/16 13:08, 7F
推
12/16 13:10, , 8F
12/16 13:10, 8F
→
12/16 13:14, , 9F
12/16 13:14, 9F
推
12/16 15:08, , 10F
12/16 15:08, 10F
→
12/16 15:10, , 11F
12/16 15:10, 11F
→
12/16 15:32, , 12F
12/16 15:32, 12F
→
12/16 15:33, , 13F
12/16 15:33, 13F
→
12/16 15:34, , 14F
12/16 15:34, 14F
推
12/16 16:21, , 15F
12/16 16:21, 15F
→
12/16 16:22, , 16F
12/16 16:22, 16F
→
12/16 16:22, , 17F
12/16 16:22, 17F
→
12/16 16:23, , 18F
12/16 16:23, 18F
→
12/16 16:23, , 19F
12/16 16:23, 19F
→
12/16 16:23, , 20F
12/16 16:23, 20F
→
12/16 16:24, , 21F
12/16 16:24, 21F
→
12/16 16:25, , 22F
12/16 16:25, 22F
→
12/16 16:25, , 23F
12/16 16:25, 23F
→
12/16 16:26, , 24F
12/16 16:26, 24F
→
12/16 21:13, , 25F
12/16 21:13, 25F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章