C++虚函数问题(三)

 有三个类:A,B,C,A中有100个虚函数,B中有100个函数,C中有1000个虚函数,问这三个类的对象占用内存空间的大小次序?

答案:A=C>B,原因是因为A和C的对象都要包含一个指向虚函数表的指针。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++中的虚函数个主要特点: 1. 多态性(Polymorphism):虚函数允许在派生类中重新定义与基类相同签名的函数。当通过基类指针或引用调用虚函数时,实际执行的是派生类的版本。这为实现运行时多态性提供了方便,使得程序能够根据对象的实际类型来决定调用哪个函数。 2. 动态绑定(Dynamic Binding):虚函数使用动态绑定机制,即在运行时根据对象的实际类型绑定调用的函数。这意味着在派生类对象被创建后,可以通过基类指针或引用来调用相应的派生类函数,而不需要提前知道它的具体类型。这样的绑定方式提高了程序的灵活性和可提供的操作选择。 3. 调用顺序是按照继承关系自上而下的:虚函数允许通过基类指针或引用调用派生类函数,但是调用的函数是按照继承关系依次向下查找,直到找到与基类函数签名相符的函数为止。如果派生类中没有重定义虚函数,则会调用基类中的虚函数。这使得派生类可以通过重写、扩展或修改基类函数的功能,以适应自身的特定需求。 这个特点使得虚函数在面向对象的程序设计中起到重要的作用。它们允许不同类型的对象通过共同的接口进行交互,增加了程序的可扩展性和可维护性。同时,虚函数也是实现封装和抽象的重要手段之一,通过隐藏实现细节,使得多个相关的类能够以一致的方式进行使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值