外包公司做网站营销型网站建设题库

张小明 2026/1/10 18:52:26
外包公司做网站,营销型网站建设题库,2022年最新热点素材,昆山住房和城乡建设部网站C虚函数 作为C程序员#xff0c;“多态”绝对是绕不开的核心知识点#xff0c;而撑起多态的关键技术#xff0c;正是今天要聊的虚函数。 一、先搞懂#xff1a;虚函数到底是啥#xff1f; 一句话概括#xff1a;基类中加了virtual关键字的成员函数#xff0c;就是虚函…C虚函数作为C程序员“多态”绝对是绕不开的核心知识点而撑起多态的关键技术正是今天要聊的虚函数。一、先搞懂虚函数到底是啥一句话概括基类中加了virtual关键字的成员函数就是虚函数。它的核心“魔法”的是当用基类指针指向子类对象时调用这个函数会自动执行子类的版本而不是基类的举个生活中的例子基类就像“动物”有个“叫”的行为子类是“狗”“猫”继承了“动物”但“叫”的方式不一样狗汪汪、猫喵喵没有虚函数时用“动物指针”指向“狗”调用“叫”会输出“动物叫”认指针类型有了虚函数后同样的指针指向“狗”会输出“汪汪叫”认对象真实身份。这就是虚函数的核心价值——让指针“认清”对象的真实面目实现多态二、3步实现虚函数多态光说不练假把式咱们用代码一步步实现上面的“动物叫”例子一看就懂第一步定义基类给函数加virtual先创建“动物”基类把“叫”函数设为虚函数加virtual关键字#includeiostreamusingnamespacestd;// 基类动物classAnimal{public:// 虚函数动物叫virtualvoidmakeSound(){cout动物发出叫声endl;}};第二步定义子类重写虚函数创建“狗”和“猫”两个子类继承Animal并重写makeSound函数。这里可以加override关键字可选但强烈推荐明确表示“我在重写基类的虚函数”避免写错参数/返回值// 子类狗继承动物classDog:publicAnimal{public:// 重写虚函数加override更规范voidmakeSound()override{cout汪汪汪小狗在叫endl;}};// 子类猫继承动物classCat:publicAnimal{public:voidmakeSound()override{cout喵喵喵小猫在叫endl;}};第三步测试多态效果用基类指针指向不同的子类对象调用makeSound看看会不会自动匹配对应版本intmain(){// 基类指针Animal*animalPtr;// 指向狗对象Dog dog;animalPtrdog;animalPtr-makeSound();// 输出汪汪汪小狗在叫// 指向猫对象Cat cat;animalPtrcat;animalPtr-makeSound();// 输出喵喵喵小猫在叫return0;}运行结果完全符合预期同一个基类指针指向不同子类对象时自动调用子类的函数——这就是虚函数实现的多态是不是很简单三、必记避坑点3个关键规则学会用法还不够这3个坑一定要避开否则容易出bug或内存泄漏1. 析构函数必须设为虚函数如果基类指针指向子类对象删除指针时如果析构函数不是虚函数会只调用基类的析构函数子类的资源释放不掉导致内存泄漏正确做法基类析构函数加virtualclassAnimal{public:virtualvoidmakeSound(){...}// 虚析构函数virtual~Animal(){cout动物基类析构endl;}};classDog:publicAnimal{public:voidmakeSound()override{...}~Dog()override{cout小狗子类析构endl;}};// 测试删除基类指针指向的子类对象Animal*ptrnewDog();deleteptr;// 会先调用Dog析构再调用Animal析构无内存泄漏2. 这两个函数不能是虚函数构造函数对象还没创建完成虚函数表还没初始化无法实现虚函数效果静态函数静态函数属于类不属于对象而虚函数依赖对象的真实类型冲突。3. 用override明确重写避免笔误重写时如果参数类型、个数、返回值写错比如把void makeSound()写成void makeSound(int)编译器不会报错而是当成新函数——加了override后编译器会检查是否真的重写了基类虚函数有错直接提示四、一句话总结虚函数的核心就是用virtual关键字标记基类函数让子类能重写最终实现“基类指针指向子类对象时调用子类函数”的多态效果。掌握虚函数你就打通了C多态的“任督二脉”后续学习继承、接口设计等知识点都会更轻松
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站优化工具怎样下载网页上的视频

如何快速搭建个人Web邮件系统?Roundcube Webmail终极指南 【免费下载链接】roundcubemail The Roundcube Webmail suite 项目地址: https://gitcode.com/gh_mirrors/ro/roundcubemail 想要通过浏览器随时随地管理邮件吗?Roundcube Webmail作为一款…

张小明 2026/1/10 3:56:21 网站建设

网站建设原码大会的网站架构

Zygisk NoHello模块:终极Root权限隐藏解决方案 【免费下载链接】NoHello A Zygisk module to hide root. 项目地址: https://gitcode.com/gh_mirrors/nohe/NoHello 在Android设备Root后,您可能会遇到一个令人困扰的问题:银行应用、支付…

张小明 2026/1/2 15:14:13 网站建设

手机网站建设品牌好做网站数据对电脑要求

vgmstream作为专业的音频转换工具,能够高效处理各类游戏音频格式,提供强大的跨平台解码与播放解决方案。无论您是Windows、Linux还是Mac用户,都能通过这款多媒体处理工具轻松实现游戏音乐的提取、转换和播放需求。🎵 【免费下载链…

张小明 2026/1/3 2:39:59 网站建设

江苏网站备案暂住证傻瓜式建个人网站

FaceFusion生产环境部署与运维全指南 在AI生成内容席卷影视、直播和短视频行业的今天,人脸替换技术早已不再是实验室里的“玩具”。无论是虚拟偶像的实时换脸,还是影视剧中的数字替身,FaceFusion 凭借其高精度、低延迟和模块化设计&#xff…

张小明 2026/1/8 6:37:24 网站建设

孝感 网站建设做一个网站

💡实话实说:CSDN上做毕设辅导的都是专业技术服务,大家都要生活,这个很正常。我和其他人不同的是,我有自己的项目库存,不需要找别人拿货再加价,所以能给到超低价格。摘要 近年来,共享…

张小明 2026/1/8 8:03:51 网站建设

台州市建设工程造价管理处网站部门网站建设总结

还在为复杂的3D建模软件发愁吗?专业建模师需要花费数小时完成的工作,现在普通人只需输入文字描述,30秒内就能获得完整的3D模型。腾讯最新开源的Hunyuan3D-2mini模型,以仅0.6B的参数规模,实现了前所未有的"轻量高速…

张小明 2026/1/3 20:30:32 网站建设