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

大专毕业论文 企业的网站建设网络营销属于哪个专业

大专毕业论文 企业的网站建设,网络营销属于哪个专业,怎样做seo网站链接,公众号开发技术风险虚函数主要是为了父类指针访问子类同名成员方法而引入的,即通过重写了父类的方法,从而实现多态。 01 为何引入纯虚函数 对于普通虚函数,如果子类没有重写相应的虚函数,那么父类指针就只能调用父类函数实现,然而父类有…

虚函数主要是为了父类指针访问子类同名成员方法而引入的,即通过重写了父类的方法,从而实现多态。

01 为何引入纯虚函数

对于普通虚函数,如果子类没有重写相应的虚函数,那么父类指针就只能调用父类函数实现,然而父类有时候并不能给出具体的实现,仅仅只是一种抽象的概念,比如我们抽象了一个父类叫运算calculate,而对于运算的具体实现我们并无法实际给出来,不过希望继承下来的子类能够实现各种计算,如加、减、乘、除等等。

很多朋友就想了,没实现就没实现呗,函数体内啥也不做不就行了吗?

这样做确实也能够达到类似的效果,不过没有太多的必要,如果子类没有去实现相应函数,这样在使用的过程中就会存在不处理的情况,而原本的处理过程子类必须去实现,甚至在编译的阶段就告诉我子类有没有实现~

基于这样的需求,就有了一种没有具体实现的虚函数,称为纯虚函数。

02 纯虚函数的使用

纯虚函数的使用还是比较简单的,即在虚函数声明后面加上"=0",作为其标识即可
那么我们下面以这个demo来体验一下:

#include <iostream>
using namespace std;class abstructParent
{
public:void function1(){cout<<" abstructParent hello C++"<<endl; }virtual void function2() = 0; //纯虚函数 };class Child :public  abstructParent
{
public:void function2(){cout<<" Child hello C++"<<endl; }
};int main(int argc, char** argv) {Child obj;obj.function1();obj.function2();return 0;
}

以上通过子类继承父类来实现,其输出结果为:


从上面的输出结果我们可以了解到几点:

1、如果我们使用父类直接去定义(专业一点叫实例化)一个对象,编译会直接会报错,所以带有纯虚函数的类不能直接实例化为一个对象,因为其没有给出相应的具体实现,如下图所示:

在这里插入图片描述

2、通常称含有纯虚函数的类为抽象类,名称还是比较贴切的,只有声明,没有具体实现,抽象类中也可以包含其他实现,只是不能实例化对象,因为纯虚函数必须要所继承的子类来实现。

3、对于纯虚函数主要是为了实现一个接口,强制继承的子类来实现相应的方法,当然你也可以不实现,不过没有实现虚函数的继承子类仍然是一个抽象类,不能实例化成对象。

03 纯虚函数实现接口

接口是大部分编程语言都会遇到的,然而对于C++没有接口的直接定义,而是通过纯虚函数来实现与接口类似的功能,即把一些公共的部分抽取出来,继承者们分别提供不同的实现。

在这里插入图片描述

接口部分仅仅只是对相关的方法进行声明不需要有具体的实现,而子类继承以后必须实现相应的方法供对象使用。

下面给大家看一个例子来说明C++进行接口实现:

#include <iostream>
using namespace std;/* 接口抽象类的定义 */ 
class Interface {
public:virtual void method1() = 0;virtual void method2() = 0;
};class Device1 : public Interface
{
public:virtual void method1(void) {cout<<"Device1 method1"<<endl; }virtual void method2(void) {cout<<"Device1 method2"<<endl; }
};class Device2 : public Interface
{
public:virtual void method1(void) {cout<<"Device2 method1"<<endl; }virtual void method2(void) {cout<<"Device2 method2"<<endl; }
};class Process {
public:void Parse(Interface *api) {api->method1();api->method2();}
};int main(void)
{Process process;Device1  dev1;Device2  dev2;process.Parse(&dev1);process.Parse(&dev2);return 0;
}

这样通过构造interface抽象类,让不同的设备去继承该类,从而实现接口功能的统一化,如果一个类要有类似的接口处理,就直接继承interface抽象类即可,最终使用同一个处理过程即可调用不同的功能函数。

在这里插入图片描述

http://www.hengruixuexiao.com/news/30901.html

相关文章:

  • 金华网站开发北京厦门网站优化
  • 一个网站可以绑定几个域名在线seo关键词排名优化
  • 网站建设全包广州淘宝运营培训班去哪里学
  • 奇点网站建设东莞公司网上推广
  • 怎么可以做赌博的网站百度seo新规则
  • o2o网站设计灰色词排名推广
  • 专业网站开发哪里找seo怎么做推广
  • 电子商务网站建设 大纲搜索引擎竞价排名
  • 做旅游网站设计的感想武汉网站营销seo方案
  • 路桥网站建设中国教育培训网
  • 怎么做网站模块东莞整站优化推广公司找火速
  • wordpress 网站遭篡改网站优化一年多少钱
  • 美女做那种视频网站百度推广客户端app
  • 大连旅游网站建设东莞做网站公司
  • wordpress 萌网络优化工程师骗局
  • 为什么企业网站不是开源系统百度排名优化咨询电话
  • 内容网站模板qq关键词排名优化
  • WordPress免费外贸企业主题免费seo软件推荐
  • 泉州做网站优化的公司百度识图识别
  • 注册深圳公司代理记账报税seo 网站排名
  • 深圳网站建设官网沈阳头条今日头条新闻最新消息
  • 大连手机网站开发百度怎么推广产品
  • WordPress 付费文章插件google关键词seo
  • 滁州市南谯区规划建设局网站百度代运营
  • 建设银行车贷网站百度服务中心官网
  • 网站出现建设中株洲今日头条新闻
  • 大红门网站建设网站策划书模板
  • 石家庄建设集团网站企业网络营销策划书
  • 外贸网站分类潮州seo
  • 专业网站开发哪家好什么网站可以免费发广告