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

如何维护网站郑志平爱站网创始人

如何维护网站,郑志平爱站网创始人,浏览器官网入口,最早做视频播放网站一.纯虚函数的由来 在多态中&#xff0c;通常父类中虚函数的实现是毫无意义的&#xff0c;主要都是调用子类重写的内容。例如&#xff1a; #include<iostream>using namespace std;class AbstractCalculator { public:int m_Num1;int m_Num2;virtual int getResult(){r…

一.纯虚函数的由来

在多态中,通常父类中虚函数的实现是毫无意义的,主要都是调用子类重写的内容。

例如:

#include<iostream>using namespace std;class AbstractCalculator
{
public:int m_Num1;int m_Num2;virtual int getResult(){return 0;}
};//加法计算器类
class AddCalculator :public AbstractCalculator
{
public:int getResult(){return m_Num1+m_Num2;}};
AbstractCalculator类是一个父类,里面 getResult()函数的实现是无意义的。
因此可以将虚函数改为纯虚函数。

二.纯虚函数语法

virtual 返回值类型 函数名(参数列表) = 0;

三.抽象类及特点

当类中有了纯虚函数,这个类也称为抽象类。
特点:
1.抽象类无法实例化对象
2.子类必须重写抽象类中的纯虚函数,否则也属于抽象类

四.制作饮品案例

在这里插入图片描述

4.1 单文件实现该案例

创建c++文件 drinking.cpp

#include<iostream>using namespace std;class AbstractDrinking
{
public://煮水virtual void Boil() = 0;//冲泡virtual void Brew() = 0;//倒入杯中virtual void PourInCup() = 0;//加入辅料virtual void PutSomething() = 0;//合并制作饮品流程void makeDrink(){Boil();Brew();PourInCup();PutSomething();}
};//制作咖啡
class Coffee: public AbstractDrinking
{
public:// 由于父类已经声明过virtual,所以子类不必在函数前加virtualvoid Boil(){cout<<"煮农夫山泉1"<<endl;}    void Brew(){cout<<"冲泡咖啡1"<<endl;}void PourInCup(){cout<<"倒入杯中1"<<endl;}void PutSomething(){cout<<"加入糖和牛奶1"<<endl;}
};int main()
{AbstractDrinking* drink;// Coffee(); 像是函数的声明,所以一般实例化类时,当构造函数为空,则不用加括号,直接 Coffee。drink = new Coffee;// drink = new Coffee();drink->makeDrink();delete drink;return 0;
}

linux端编译和运行:

按 ctrl+` 弹出终端

输入如下命令:

g++ drinking.cpp

生成一个可执行文件 a.out

# 执行
./a.out

4.1 多文件实现该案例

4.1.1创建include文件,在里面创建类的头文件,用来声明函数

AbstractDrinking.h
#pragma once
using namespace std;class AbstractDrinking
{
public://煮水virtual void Boil() = 0;//冲泡virtual void Brew() = 0;//倒入杯中virtual void PourInCup() = 0;//加入辅料virtual void PutSomething() = 0;void makeDrink();};
Coffee.h
#pragma once
#include<AbstractDrinking.h>
using namespace std;//制作咖啡
class Coffee: public AbstractDrinking
{
public:virtual void Boil();virtual void Brew();virtual void PourInCup();virtual void PutSomething();
};

4.1.2 创建src文件,里面放置类的实现

AbstractDrinking.cpp
#include "AbstractDrinking.h"//合并制作饮品流程
void AbstractDrinking::makeDrink()
{Boil();Brew();PourInCup();PutSomething();
}
Coffee.cpp
#include "Coffee.h"
#include<iostream>void Coffee::Boil()
{cout<<"煮农夫山泉"<<endl;
}    
void Coffee::Brew()
{cout<<"冲泡咖啡"<<endl;
}
void Coffee::PourInCup()
{cout<<"倒入杯中"<<endl;
}
void Coffee::PutSomething()
{cout<<"加入糖和牛奶"<<endl;
}

4.1.3 项目主目录创建main.cpp文件

#include<iostream>
#include "AbstractDrinking.h"
#include "Coffee.h"using namespace std;int main()
{AbstractDrinking* drink;drink = new Coffee;// drink = new Coffee1();drink->makeDrink();delete drink;return 0;
}

4.1.4 编译和执行

g++ main.cpp src/AbstractDrinking.cpp src/Coffee.cpp -Iinclude -o b.out
./b.out
http://www.ritt.cn/news/29954.html

相关文章:

  • 网站建设后期收什么费用前端培训费用大概多少
  • 广州番禺房价2023年最新房价搜索引擎优化什么意思
  • 网站开发都是用什么框架营销案例最新
  • 什么是建设网站工具百度指数的作用
  • jsp项目个人网站开发如何在百度上发布自己的广告
  • Wordpress演示主题新乡seo公司
  • 电子商务网站建设与实例网站广告制作
  • sexweibo wordpress热狗seo优化外包
  • 自制网站导航图怎么做做微商怎么找客源加人
  • pc网站开发百度竞价点击价格公式
  • 上海网站制作 公司钦州seo
  • 如何做视频网站首页媒体宣传推广方案
  • 做网站最好的工具百度相册登录入口
  • 企业网站建设一般考虑哪些因素?微营销平台
  • 西安专业网站制作百度门店推广
  • 免费网站域名查询国内免费ip地址
  • 校园网站的系统建设免费广告制作软件
  • 做犯法任务的网站东莞今日头条新闻
  • 乐清网站建设公司哪家好六盘水seo
  • 温州网站建设成功案例江苏网站建站系统哪家好
  • 在线做网页的网站百度指数官网首页
  • 桂林漓江在哪个县哪个区西安百度关键词优化
  • 个性flash网站google手机官网
  • 营销网站结构产品推广运营方案
  • 设计公司网站页面设计保定seo推广
  • 网站建设现在还有没有市场天津百度推广中心
  • 怎么看网站哪个公司做的软文代发代理
  • 做物流网站的多少钱互联网怎么赚钱
  • 可视化网页编辑工具关键词诊断优化全部关键词
  • aspnet网站开发案例百度指数免费查询