虚函数实现多态性 代码参考

Posted conan-jine

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚函数实现多态性 代码参考相关的知识,希望对你有一定的参考价值。

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 class Pet
 6 {
 7     public:
 8         virtual void Speak(){cout<<"How does a pet speak?"<<endl;}
 9 };
10 
11 class Cat:public Pet
12 {
13     public:
14         void Speak(){cout<<"miao!miao!"<<endl;}
15 };
16 
17 class Dog:public Pet
18 {
19     public:
20         void Speak(){cout<<"wang!wang!"<<endl;}
21 };
22 
23 int main()
24 {
25     Pet one, *p1,*p2,*p3;
26     Cat two;
27     Dog three;
28     p1=&one;
29     p2=&two;
30     p3=&three;
31     p1->Speak();
32     p2->Speak();
33     p3->Speak();
34     return 0;
35 }

 

以上是关于虚函数实现多态性 代码参考的主要内容,如果未能解决你的问题,请参考以下文章

9-3:C++多态之多态的实现原理之虚函数表,虚函数表指针静态绑定和动态绑定

C++学习摘要之四:虚函数和多态

C++虚函数

虚函数探秘

多态虚函数表底层实现多重继承的问题及处理

虚函数与多态