1 class man
2 {
3 public:
4 int name;
5 //加上virtual關鍵字,可以使得父類用子類初始化后可以調用子類的函數
6 virtual void run()
7 {
8 cout << "man is running" << endl;
9 }
10 };
11
12 class son :public man
13 {
14 public:
15 void run()
16 {
17 cout << "son is running" << endl;
18 }
19 };
20
21 void main()
22 {
23 /*man man1;
24 son son1;
25 man *p = &man1;
26 p->run();
27 p = &son1;
28 p->run();*/
29 man *pman = new man;
30 son *pson = new son;
31 //子類指針轉換為父類指針,但是還是調用子類的函數
32 man *pfu = dynamic_cast<man *>(pson);
33 pfu->run();
34 system("pause");
35 }