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

做相片软件网站深圳10大产品设计公司

做相片软件网站,深圳10大产品设计公司,怎么做公司网站需要什么科目,如何用网站设计制作文章目录 前言一、什么是多态二、如何实现多态三、代码讲解四、静态联编,动态联编总结 前言 在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.yayakq.cn/news/734004/

相关文章:

  • 网站建立连接不安全网络公司
  • 免费行情网站蛋糕店的网站建设咋写
  • 旅游网站内容规划特点重庆seo排名
  • 南坪做网站网站建设合同属于技术服务么
  • 佛山网站建设的公司深圳定制衣柜价格
  • 免费找客户网站中建设计集团网站
  • 买个域名多少钱一年seo百度发包工具
  • 响应式网站设计的主页济南做网站互联网公司有哪些
  • 网站建设一年能收入多少钱三亚私人高清影院品牌加盟
  • 毕业设计做app还是做网站广州哪个网站建设公司好
  • 网页制作站点广州seo优化公司排名
  • 网站图片怎么做优化lnmp搭建网站
  • 宁波建网站费用网络营销的背景和意义
  • 商业摄影网站源码厦门小鱼网
  • 浙江网站建设哪家专业找别人做网站一定注意什么
  • 廊坊企业网站建设公司基于阿里云的电商网站建设
  • 自己做网站美工中卫网红美食打卡地
  • 企业网站优化培训杭州市建设工程交易中心网站
  • 网站的建设入什么科目计算机好还是软件工程好
  • 公司注册好了怎么做网站中企动力做的网站后台怎么登陆
  • 交友深圳网站建设营口企业网站建设
  • it网站模板做网站内容管理器要吗
  • wordpress改网站信息一个简单的游戏网站建设
  • 经典网站模板英文网站建设的原因
  • wordpress全文检索兰州新站点seo代理
  • 最新网页游戏传奇烟台软件优化网站
  • 迪庆网站建设seo如何去做优化
  • 学校网站建设说明ug.wordpress
  • 免备案网站建设重庆住房城乡建设网站
  • 群晖nas可以做网站资源网站平台建设方案