c++虚函数表

c++通过虚函数实现了多态,下面来看看多态是如何实现的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include<iostream>

class A
{
public:
A()
{}
virtual
void execute()
{
std::cout<<"我是爸爸\n";
}
};

class B:
public A
{
public:
B()
{}
void execute()
{
std::cout<<"我是儿子\n";
}
};

int main()
{
A a;
//a.execute();
//B b;
//b.execute();

//地址拷贝
A *c = &b;
c->execute();


// 副本拷贝
A m=b;
m.execute();

return 0;
}

运行结果

1
2
3
4
5
6

我是儿子
我是爸爸


------------------