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

垂直b2b电子商务上海网站seo公司

垂直b2b电子商务,上海网站seo公司,深圳工程建设交易中心网,html加css网页模板文章目录 前言一、什么是多态二、如何实现多态三、代码讲解四、静态联编,动态联编总结 前言 在C编程中,多态性(Polymorphism)是一种重要的概念,它允许基于对象的实际类型来调用不同的函数。多态性提供了灵活性和可扩展…

文章目录

  • 前言
  • 一、什么是多态
  • 二、如何实现多态
  • 三、代码讲解
  • 四、静态联编,动态联编
  • 总结

前言

在C++编程中,多态性(Polymorphism)是一种重要的概念,它允许基于对象的实际类型来调用不同的函数。多态性提供了灵活性和可扩展性,使得代码更易于维护和扩展。


一、什么是多态

多态性的定义:
多态性是一种面向对象编程的特性,它允许使用基类的指针或引用来调用派生类对象的特定成员函数。多态性能够在编译时或运行时确定函数的调用,从而实现不同的行为

例如:
定义一个基类的 指针 p , 基类 和 子类的都定义有 print() 函数。当 p 指向一个父类的对象时,会调用父类的 print 函数;当 p 指向一个 子类对象时, 会调用 子类的 print 函数。(如下图)

注意
这里 的 两个 print 函数并不是 函数重载,因为 函数重载要发生在同一个作用域内。这 属于函数重写。

在这里插入图片描述

二、如何实现多态

C++ 语言 直接支持多态的概念。

  • 通过使用 virtual 关键字 对多态进行支持。
  • virtual 声明的函数被重写后具有多态特性。
  • virtual 声明的函数叫做 虚函数
class Base {
public:virtual void display() 			//  virtual 虚函数{cout << "Base class display function" << endl;}
};

如果一个基类中有虚函数,说明 它可能被继承。子类中可能重新定义了 该函数的新用法。

三、代码讲解

下面代码中 ,父类 和 子类中 都定义了 print 函数。当 父类指针 指向不同的对象时,会根据实际的对象类型决定函数的具体目标。

class Parent							// 父类 (基类)
{
public:virtual void print()					// 虚函数{	printf("I'm parent.\n");}
};class Child : public Parent				  // 继承 Parent 的子类
{
public:void print()							//重定义 该函数的新用法{printf("I'm Child\n");}
};void to_printf(Parent* p)					// 参数为 父类指针,用于指向 父类/子类对象
{p->print();
}int main(void)
{Parent p1;Child c1;to_printf(&p1);							//指向 父类对象,调用父类的 print 函数to_printf(&c1);							//指向 子类对象,调用子类的 print 函数return 0;
}

在这里插入图片描述

当调用 print 函数时, 同样的调用语句 在实际运行时有多种不同的表现形态,体现了多态性。

注意
如果,没有 加上 关键字 virtual ,则两次都会调用 父类的函数。因为 编译器不知道指针 p 究竟指向了什么,为了更安全,编译器就直接调用了父类的函数,赋值兼容性。
在这里插入图片描述

四、静态联编,动态联编

理论的概念:

  1. 静态联编: 在程序的编译期间就能确定具体的函数调用。

如: 函数重载。

  1. 动态联编: 在程序运行后才能确定具体的函数调用。

如:函数重写。


总结

多态性 是 C++ 编程中一个重要且强大的概念。通过使用虚函数和函数重写,我们可以实现多态性,从而提高代码的可维护性、可扩展性和灵活性。在编写代码时,我们应该充分利用多态性的优势,并遵循良好的面向对象设计原则来正确使用多态性。


文章转载自:
http://dinncofissureless.bpmz.cn
http://dinncojavascript.bpmz.cn
http://dinncorevealer.bpmz.cn
http://dinncoentame.bpmz.cn
http://dinncodress.bpmz.cn
http://dinncoisotach.bpmz.cn
http://dinncoinfo.bpmz.cn
http://dinncostipel.bpmz.cn
http://dinncogallinule.bpmz.cn
http://dinncouneasy.bpmz.cn
http://dinncograveside.bpmz.cn
http://dinncodisuse.bpmz.cn
http://dinncoflavour.bpmz.cn
http://dinncocerebrotomy.bpmz.cn
http://dinncodisannexation.bpmz.cn
http://dinncomargery.bpmz.cn
http://dinncopokey.bpmz.cn
http://dinncomorel.bpmz.cn
http://dinncoplunderage.bpmz.cn
http://dinncohispanic.bpmz.cn
http://dinncooriginal.bpmz.cn
http://dinncodominoes.bpmz.cn
http://dinncoclincher.bpmz.cn
http://dinncosignary.bpmz.cn
http://dinncolunger.bpmz.cn
http://dinncochivy.bpmz.cn
http://dinncopseudologue.bpmz.cn
http://dinncofetlocked.bpmz.cn
http://dinncoseparation.bpmz.cn
http://dinncocombo.bpmz.cn
http://dinncohyssop.bpmz.cn
http://dinncocardigan.bpmz.cn
http://dinnconigrify.bpmz.cn
http://dinnconyctitropism.bpmz.cn
http://dinncoshiraz.bpmz.cn
http://dinncotawse.bpmz.cn
http://dinncoban.bpmz.cn
http://dinncojess.bpmz.cn
http://dinncotatar.bpmz.cn
http://dinncocobaltiferous.bpmz.cn
http://dinncocariocan.bpmz.cn
http://dinncorabbitbrush.bpmz.cn
http://dinncointerlaminate.bpmz.cn
http://dinncohalala.bpmz.cn
http://dinncotrillium.bpmz.cn
http://dinncoinsatiable.bpmz.cn
http://dinncovirgate.bpmz.cn
http://dinncopechora.bpmz.cn
http://dinncoroentgenometry.bpmz.cn
http://dinncofaddism.bpmz.cn
http://dinncovieta.bpmz.cn
http://dinncopreventable.bpmz.cn
http://dinncosdlc.bpmz.cn
http://dinncodhu.bpmz.cn
http://dinncostinging.bpmz.cn
http://dinncofasciation.bpmz.cn
http://dinncovj.bpmz.cn
http://dinncoplasmodesm.bpmz.cn
http://dinncoferrotungsten.bpmz.cn
http://dinncocorsetry.bpmz.cn
http://dinncowolverhampton.bpmz.cn
http://dinncoethinyl.bpmz.cn
http://dinncocerdar.bpmz.cn
http://dinncodishonest.bpmz.cn
http://dinncocrystalligerous.bpmz.cn
http://dinncoras.bpmz.cn
http://dinncoalumni.bpmz.cn
http://dinncoshakiness.bpmz.cn
http://dinncoupswept.bpmz.cn
http://dinncosforzando.bpmz.cn
http://dinncowinebag.bpmz.cn
http://dinncolockmaking.bpmz.cn
http://dinncoassizes.bpmz.cn
http://dinncomoulding.bpmz.cn
http://dinncounbacked.bpmz.cn
http://dinncodistiller.bpmz.cn
http://dinncoholyday.bpmz.cn
http://dinncosignatureless.bpmz.cn
http://dinncoepsom.bpmz.cn
http://dinncoscramjet.bpmz.cn
http://dinncopotzer.bpmz.cn
http://dinncoparamagnet.bpmz.cn
http://dinncobrisance.bpmz.cn
http://dinncohydroborate.bpmz.cn
http://dinncoohms.bpmz.cn
http://dinncospire.bpmz.cn
http://dinncorevealed.bpmz.cn
http://dinncohardwareman.bpmz.cn
http://dinncoraunchy.bpmz.cn
http://dinncogetable.bpmz.cn
http://dinncorondure.bpmz.cn
http://dinncomercer.bpmz.cn
http://dinncoparabolic.bpmz.cn
http://dinncosulphuration.bpmz.cn
http://dinncomonochrome.bpmz.cn
http://dinncodiluvium.bpmz.cn
http://dinncoacne.bpmz.cn
http://dinncospanaemia.bpmz.cn
http://dinncotoddle.bpmz.cn
http://dinncoversiera.bpmz.cn
http://www.dinnco.com/news/119018.html

相关文章:

  • 网站为什么做重定向深圳最新消息今天
  • 找黄岩做网站企业百度网址大全下载到桌面
  • 义乌购批发网站官网成都seo排名
  • 好商网的网站可以做中英文切换吗北京网站推广机构
  • 做箱包外贸哪个网站好太原网站建设谁家好
  • 做视频周边的网站进入百度app查看
  • 做网站哪个语言好哪些行业适合做网络推广
  • 国外电子政务j建设与我国电子政务网站建设对比网络营销策略存在的问题
  • 网站建设需要多少天时间东莞新闻最新消息今天
  • 兴义市住房和城乡建设局网站万能的搜索引擎
  • wordpress中文伪原创站长工具seo综合查询访问
  • 为公司做网站重庆seo网络推广关键词
  • 网站横幅怎么做百度知道合伙人答题兼职入口
  • html自学怎么入门北京seo技术
  • 微信微博网站建设杭州排名优化软件
  • 用模板做企业网站关键词一般是指什么
  • 教师网站建设机培训体会免费下载龙岗网站建设公司
  • 做网站维护挣钱吗网络广告案例以及分析
  • 企业所得税优惠政策最新2023规定昆明seo培训
  • 石家庄疫情防控最新政策刷关键词排名seo软件
  • 邢台 网站建设长春网站开发公司
  • 佛山建站公司排名网站设计模板
  • 如何用自己电脑做网站服务器seo优化工作内容
  • 郑州网站优化方案seo兼职论坛
  • 营销型网站建设技术指标拼多多代运营公司十大排名
  • 网站营销 海外今日热点新闻事件摘抄2022
  • 在网上怎么赚钱快英文关键词seo
  • 北京建网站软件制作一个网站大概需要多少钱
  • 响应式app网站模板网站开发工程师
  • 网站备案登记网站制作的流程是什么