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

备案网站 cdn一般的电脑培训班要多少钱

备案网站 cdn,一般的电脑培训班要多少钱,wordpress发邮件更新,威海网站制作C 接口(抽象类) 接口描述了类的行为和功能,而不需要完成类的特定实现。 C 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。 如果类中至少有一个函数被声明…

C++ 接口(抽象类)

接口描述了类的行为和功能,而不需要完成类的特定实现。

C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。

如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。纯虚函数是通过在声明中使用 “= 0” 来指定的,如下所示:

class Box
{public:// 纯虚函数virtual double getVolume() = 0;private:double length;      // 长度double breadth;     // 宽度double height;      // 高度
};

设计抽象类(通常称为 ABC)的目的,是为了给其他类提供一个可以继承的适当的基类。抽象类不能被用于实例化对象,它只能作为接口使用。如果试图实例化一个抽象类的对象,会导致编译错误。

因此,如果一个 ABC 的子类需要被实例化,则必须实现每个纯虚函数,这也意味着 C++ 支持使用 ABC 声明接口。如果没有在派生类中重写纯虚函数,就尝试实例化该类的对象,会导致编译错误。

可用于实例化对象的类被称为具体类

抽象类的实例

请看下面的实例,基类 Shape 提供了一个接口 getArea(),在两个派生类 Rectangle 和 Triangle 中分别实现了 getArea()

实例

#include <iostream>using namespace std;// 基类
class Shape 
{
public:// 提供接口框架的纯虚函数virtual int getArea() = 0;void setWidth(int w){width = w;}void setHeight(int h){height = h;}
protected:int width;int height;
};// 派生类
class Rectangle: public Shape
{
public:int getArea(){ return (width * height); }
};
class Triangle: public Shape
{
public:int getArea(){ return (width * height)/2; }
};int main(void)
{Rectangle Rect;Triangle  Tri;Rect.setWidth(5);Rect.setHeight(7);// 输出对象的面积cout << "Total Rectangle area: " << Rect.getArea() << endl;Tri.setWidth(5);Tri.setHeight(7);// 输出对象的面积cout << "Total Triangle area: " << Tri.getArea() << endl; return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

Total Rectangle area: 35
Total Triangle area: 17

从上面的实例中,我们可以看到一个抽象类是如何定义一个接口 getArea(),两个派生类是如何通过不同的计算面积的算法来实现这个相同的函数。

设计策略

面向对象的系统可能会使用一个抽象基类为所有的外部应用程序提供一个适当的、通用的、标准化的接口。然后,派生类通过继承抽象基类,就把所有类似的操作都继承下来。

外部应用程序提供的功能(即公有函数)在抽象基类中是以纯虚函数的形式存在的。这些纯虚函数在相应的派生类中被实现。

这个架构也使得新的应用程序可以很容易地被添加到系统中,即使是在系统被定义之后依然可以如此。

http://www.yidumall.com/news/94444.html

相关文章:

  • 网站首页轮播seo查询工具有哪些
  • wordpress模板源码百度首页排名优化价格
  • 制作个人网站素材深圳市住房和建设局官网
  • 网站建设费用首选网络福州seo建站
  • 外贸一站式推广服务搜索引擎网站优化和推广方案
  • 网站设计建设合同是100个成功营销策划案例
  • 找人做的网站 没登录口seo关键词seo排名公司
  • 一般网站的字体是什么网站推广的方法有哪些
  • 太原企业网站模板建站seo网站推广技术
  • 做二手房的网站技巧网络seo优化公司
  • 做JAVA基础编程题什么网站好seo搜索铺文章
  • 简单做网站需要学什么百度指数资讯指数
  • 嘉兴网页制作网站排名北京网站排名推广
  • 做淘宝客网站需要工商营业执照seo外链软件
  • 自己做的网站如何让别人看到广告软文
  • 网站如果建设2024年新闻摘抄十条
  • 做网站上传视频建站公司网站源码
  • 保定网站开发培训集团网站推广
  • 响应式企业网站网站名称查询
  • 学习php做毕设网站方向关键词seo排名优化推荐
  • 高端网站定制深圳搜索优化排名
  • sns社交网站国内优秀网站案例
  • 网站建设项目分工seo网络营销案例分析
  • 谁知道免费网站小红书seo排名规则
  • 网站建设座谈会青岛自动seo
  • 网站模版今日新闻摘抄50字
  • 做代码和网站工业设计公司
  • 网站开发与应用专业重庆seo扣费
  • 网站开发商竞价推广的企业
  • 医院网站建设利法拉网络疫情最新数据消息