上一个案例中,我们先把父类中的virtual去掉。来看一下一般情况。
class Animal
{
public:
void Speak()
{
cout << "动物会说话" << endl;
}
};
此时Animal类只有一个非静态的成员函数。不属于类的对象上面。分开存储的。
int main()
{
cout << "size of the Animal : " << sizeof(Animal) << endl;
system("pause");
return 0;
}
此时Animal类类似于一个空类。空类默认大小为1字节。
验证方式:开发人员命令提示工具。
此时如果加上virtual:非静态成员函数变成虚函数。
#include<iostream>
using namespace std;
class Animal
{
public:
virtual void Speak()
{
cout << "动物会说话" << endl;
}
};
int main()
{
cout << "size of the class Animal : " << sizeof(Anim

本文探讨了C++中虚函数的基本概念及其如何影响类的大小,并详细解释了虚函数表指针的作用以及子类如何通过重写虚函数实现动态多态。
最低0.47元/天 解锁文章
380

被折叠的 条评论
为什么被折叠?



