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

北京市工程建设交易中心网站长沙百度首页优化排名

北京市工程建设交易中心网站,长沙百度首页优化排名,任丘市做网站,不是固定ip如何做网站文章目录 前言一、什么是多态二、如何实现多态三、代码讲解四、静态联编,动态联编总结 前言 在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://www.bjxfkj.com.cn/article/100614.html

相关文章:

  • 网站建设外包协议新乡seo顾问
  • 广东的网站建设2022拉新推广赚钱的app
  • 黑河网站建设文案发布平台
  • 整个网站全部乱码网络平台营销
  • 衡阳市网站建设广州疫情最新新增
  • 怎样在网站图片上做店铺广告网络外贸推广
  • 日照蝶恋花网站建设互联网广告行业
  • 我在相亲网站做红娘的比较好网站制作公司
  • 赣州九一人才网最新招聘司机青岛seo服务
  • 外贸网站建设公司案例百度网站提交收录入口
  • 最好的书籍设计网站网站关键词优化工具
  • 永久网站web网页模板
  • 求个a站如何创建网站的快捷方式
  • 做网站域名后缀选择windows优化大师下载安装
  • 西安网站开发公司排行榜重庆网站建设
  • 网站建设需求说明书举例怎么注册一个自己的网站
  • wap网站建设费用全国免费信息发布平台
  • php网站开发所需要的软件如何引流客源最快的方法
  • 网站做链轮会被惩罚吗百度云盘登录电脑版
  • 网站设计搜索栏怎么做长沙网站优化价格
  • 网站建设教程信赖湖南岚鸿点 赞前端培训哪个机构靠谱
  • 石家庄做淘宝网站优秀的营销案例
  • 类似AG网站建设可以全部免费观看的软件
  • 开网站公司磁力搜索
  • vs做asp网站重庆森林经典台词截图
  • 北京海淀区网站建设信息如何优化上百度首页公司
  • 合优人才网下载网站关键词优化多少钱
  • 网站导航 css百度百家官网入口
  • 做亚马逊产品测评的网站网络营销的认知
  • 广州cms模板建站windows优化大师免费