[問題] 關於C++ virtual function Runtime的考題
問題(Question):
各位熱心的版友們,小弟是C++新手,對於C++一些細部觀念掌握度不那麼高。
下列的程式題,判斷起來,是在考:
程式在runtion時,呼叫了virtual function與否。
整個題組似乎考得更徹底:
除了用class本身執行內部public的function外,
還用指向class的指標去執行。
由於題組幾乎全考到了,因此請教熱心的版友們,
這個程式題組的執行,
直接執行function,以及使用指向class的指標去執行,結果是否有異?
謝謝各位熱心的版友。
程式碼(Code):(請善用置底文網頁, 記得排版)
#include <iostream>
class Foo{
public:
void f(){
std::cout << "Foo::f()" << std::endl;
}
virtual void g(){
std::cout << "Foo::g()" << std::endl;
}
};
class Bar: public Foo{
public:
void f(){
std::cout << "Bar::f()" << std::endl;
}
virtual void g(){
std::cout << "Bar::g()" << std::endl;
}
};
int main(){
Foo foo;
Bar bar;
Foo *baz = &bar;
Bar *quux = &bar;
foo.f();
foo.g();
bar.f();
bar.g();
baz->f();
baz->g();
quux->f();
quux->g();
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.52.172
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1502983573.A.9FE.html
推
08/17 23:42, , 1F
08/17 23:42, 1F
推
08/17 23:42, , 2F
08/17 23:42, 2F
→
08/17 23:42, , 3F
08/17 23:42, 3F
→
08/18 00:13, , 4F
08/18 00:13, 4F
→
08/18 00:45, , 5F
08/18 00:45, 5F
→
08/18 00:46, , 6F
08/18 00:46, 6F
→
08/18 00:47, , 7F
08/18 00:47, 7F
→
08/18 00:50, , 8F
08/18 00:50, 8F
→
08/18 01:01, , 9F
08/18 01:01, 9F
推
08/18 02:39, , 10F
08/18 02:39, 10F
→
08/18 15:52, , 11F
08/18 15:52, 11F
→
08/18 16:02, , 12F
08/18 16:02, 12F
→
08/18 16:04, , 13F
08/18 16:04, 13F
→
08/18 16:06, , 14F
08/18 16:06, 14F
※ 編輯: fsvy (36.224.47.209), 08/18/2017 17:37:45
→
08/18 17:38, , 15F
08/18 17:38, 15F
→
08/18 17:45, , 16F
08/18 17:45, 16F
→
08/18 17:45, , 17F
08/18 17:45, 17F
推
08/18 18:05, , 18F
08/18 18:05, 18F
→
08/18 18:11, , 19F
08/18 18:11, 19F
推
08/18 19:04, , 20F
08/18 19:04, 20F
→
08/18 19:04, , 21F
08/18 19:04, 21F
→
08/18 19:04, , 22F
08/18 19:04, 22F
推
08/18 19:37, , 23F
08/18 19:37, 23F
→
08/18 19:49, , 24F
08/18 19:49, 24F
推
08/18 22:49, , 25F
08/18 22:49, 25F
→
08/18 22:49, , 26F
08/18 22:49, 26F
→
08/18 22:49, , 27F
08/18 22:49, 27F
→
08/18 22:50, , 28F
08/18 22:50, 28F
→
08/18 22:50, , 29F
08/18 22:50, 29F
→
08/18 22:51, , 30F
08/18 22:51, 30F
→
08/18 23:01, , 31F
08/18 23:01, 31F
推
08/18 23:08, , 32F
08/18 23:08, 32F
→
08/19 01:54, , 33F
08/19 01:54, 33F
→
08/19 01:57, , 34F
08/19 01:57, 34F
→
08/19 01:57, , 35F
08/19 01:57, 35F
推
08/19 02:19, , 36F
08/19 02:19, 36F
→
08/19 02:19, , 37F
08/19 02:19, 37F
→
08/19 03:06, , 38F
08/19 03:06, 38F
→
08/19 03:06, , 39F
08/19 03:06, 39F
推
08/19 08:15, , 40F
08/19 08:15, 40F
→
08/19 15:18, , 41F
08/19 15:18, 41F
推
08/21 14:20, , 42F
08/21 14:20, 42F
→
08/21 14:21, , 43F
08/21 14:21, 43F
→
08/21 14:22, , 44F
08/21 14:22, 44F