当前位置: 首页 > wzjs >正文

永久免费自助建网站新浪网今日乌鲁木齐新闻

永久免费自助建网站,新浪网今日乌鲁木齐新闻,怎么搭建一个网站,做网站怎么留接口虚函数是一个使用virtual关键字声明的成员函数,在基类中声明虚函数,在子类中可以使用override重写该函数。虚函数根据指针或引用指向的实际对象调用,实现运行时的多态。 虚函数表(虚表)是一个用于存储虚函数地址的数组…

虚函数是一个使用virtual关键字声明的成员函数,在基类中声明虚函数,在子类中可以使用override重写该函数。虚函数根据指针或引用指向的实际对象调用,实现运行时的多态。

虚函数表(虚表)是一个用于存储虚函数地址的数组,每个包含 虚函数的类都存在一个虚函数表,编译器会为每一个包含虚函数的类分配一根虚函数指针(vptr),虚函数指针指向虚函数表,在运行时会根据虚函数指针找到虚函数表,然后根据虚函数的索引找到该虚函数的地址,然后调用函数。虚函数表之中的虚函数是按照类之中的虚函数的顺序排列的。当对象初始化时,虚指针会被初始化指向该类的虚函数表。

在C++之中虚函数使用virtual关键字声明,重写该方法是可以使用override显式地声明重写该虚方法,但是在C#之中是强制要求书写override重写方法的。

在C++之中由于虚函数的调用主要操控虚指针找到虚函数表对虚函数进行操作的,这一操作相对比较直接,所以性能较高,特别是对于一些性能要求比较高的场景之中。而在C#之中,虚函数的调用由托管空间管理,性能比较低,但是这种性能差异在场景之中并不明显。

在C++之中存在多继承,虚函数的实现就较为复杂,可能涉及多个虚函数表和虚函数指针,但是在C#之中不存在多继承,但是可以多继承接口,由于接口只是声明了方法而没有实现方法体,类实现接口时也会基于运行时多态决定实现类的哪个接口方法,所以C#之中的虚函数与接口的机制是并非完全独立的。在C++之中不存在默认的虚函数,在C#之中也不存在默认的虚函数,但是如果C#中的类被声明成abstract,那么该抽象类之中的抽象方法默认都被认为是虚的,需要在子类中进行重写,不过抽象类中也可以存在非抽象的,非虚的,以及非抽象虚的方法。

举例:

#include<iostream>
using namespace std;class TestBase{public:virtual void Speak(){cout<<"TestBase"<<endl;}
};class Test:public TestBase{public:void Speak()override{cout<<"Test"<<endl;}
};int main(){Test test;TestBase* testBase=&test;testBase->Speak();
}

http://www.dtcms.com/wzjs/281370.html

相关文章:

  • 做绿植o2o网站怎么样学百度推广培训
  • 北京免费自己制作网站百度指数的使用方法
  • 长沙有什么好玩的好吃的西安优化外
  • 网页配色设计seo如何建立优化网站
  • 长沙网站建设开发百度应用宝
  • 佛山seo整站优化承接杭州网站优化咨询
  • 免费网站建站 网页肇庆网站推广排名
  • 珠海响应式网站建设公司潍坊网站建设解决方案
  • python微信网站开发拉新工作室在哪里接项目
  • 展馆设计哪家好seo网络优化前景怎么样
  • 金华建站方案b站视频怎么快速推广
  • 网站制作流程 优帮云智能网站推广优化
  • 中建招聘网站无锡百度推广代理公司
  • 做网站调用无广告视频建站小程序
  • phpcms做网站页面开发企业培训员工培训平台
  • 毕业设计做网站有哪些需求怎样设计一个网页
  • 专门做餐饮空间设计的网站10000个免费货源网站
  • 个人备案网站做商业seo研究中心官网
  • 成都网站开发建设网络推广引流是做什么工作
  • 沧州网站艰涩很网络营销与推广
  • 网站建设的步骤图片过程搜索引擎收录查询工具
  • 网站有什么类型网络推广和网络营销的区别
  • 图标设计网站网址seo查询
  • 爬知乎文章做网站百度服务商平台
  • 有专门做摄影画册的网站关键词排名规则
  • 社交网络服务网站百度云资源共享
  • 西部数码网站备案查询网络外包
  • 小蚁人网站建设百度退款客服电话
  • 外贸网站建设平台哪个好硬件优化大师下载
  • 苹果手机免费做ppt模板下载网站百度浏览器网站入口