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

网络用户提要求找人帮忙做的网站做门户网站用什么模板

网络用户提要求找人帮忙做的网站,做门户网站用什么模板,东莞市保安公司排名,wordpress关联博客C中抽象类 1.抽象类概念1.1、抽象类如何使用1.2、抽象类规定 2.抽象类代码示例2.1、抽象类2.2、子类12.3、子类22.4、程序入口 1.抽象类概念 C是一门面向对象的编程语言#xff0c;而所有的对象都是通过类来描述的#xff0c;如果一个类没有足够的信息来描述一个具体的对象中抽象类 1.抽象类概念1.1、抽象类如何使用1.2、抽象类规定 2.抽象类代码示例2.1、抽象类2.2、子类12.3、子类22.4、程序入口 1.抽象类概念 C是一门面向对象的编程语言而所有的对象都是通过类来描述的如果一个类没有足够的信息来描述一个具体的对象这样的类就是抽象类。换句话说类是具有相同或相似结构、操作和约束规格的对象组成的结合。而对象是某一类的具体实例化。每一个类都是具有某些共同特征的对象的抽象。 例如我们可以将所有的图形归为图形类图形类即为一个抽象类(父类)但是对于具体的图形是三角形、四边形或者其他图形无法准确描述。但是三角形、四边形等又都是继承于图形类的子类。具体是哪一类四边形又可分为正方形、平行四边形等。 实际开发中并不需要将父类初始化为对象需要的是子类对象图形类(父类)不能抽象出任何一种图形但子类却可以。 简单说父类只是给出了一个模糊的概念定义了方法的名称以纯虚函数方式展示却并没有给出方法的实现过程而具体的实现过程在继承于父类的子类中又大不相同。 1.1、抽象类如何使用 在使用抽象类之前需要了解为什么要用它。如果是自己独自开发代码得明白什么情况下、什么地方需要加抽象类如果是在其他人开发的基础上进行二次开发那也得知道别人为什么需要在此处加抽象类不加行不行。 例如在工业控制中有A、B两种运动控制轴卡可以选择两种轴卡可以实现相同的功能如果机台装的是A轴卡那就启动A轴卡如果装的是B轴卡那就启用B轴卡。但是我的程序只有一套即需要兼容效果如果后面还需要采购C、D轴卡呢这个时候就可以引用抽象类的概念抽象类中定义基础运动控制方式名称但是不实现实现方式在不同轴卡中。在启用前只需要判断是哪种轴卡后续的代码实现运动控制过程调用的方法名称一样。避免了代码中大量修改。 1.2、抽象类规定 1抽象类只能用作其他类的基类不能建立抽象类对象。 2抽象类不能用作参数类型、函数返回类型或显式转换的类型。 3可以定义指向抽象类的指针和引用此指针可以指向它的派生类进而实现多态性。这一条很有用用抽象类方法名称去兼容子类。 2.抽象类代码示例 搞清除抽象类概念后以下通过一个简单例子加深对抽象类的理解例子代码来源C的抽象类详解 2.1、抽象类 定义抽象类IShape抽象类IShape作为基类只有头文件没有实现文件 #ifndef SHAPE_H #define SHAPE_H#include stringusing std::string;//interfaceclass IShape {public:virtual float getArea() 0; //纯虚函数获得面积virtual string getName() 0; //纯虚函数返回图形的名称 };#endif2.2、子类1 基于此抽象类的一个子类Circle 头文件 #ifndef CIRCLE_H #define CIRCLE_H#includeIShape.hclass CCircle : public IShape //公有继承自IShape类{public:CCircle(float radius); //构造函数public:virtual float getArea(); //实现声明实现两个基类的函数声明的时候需要加virtual关键字实现的时候就不需要加virtual关键字了。virtual string getName();private:float m_fRadius; //派生类可以拥有自己的成员};#endifcpp实现文件 #includeCircle.hCCircle::CCircle(float radius):m_fRadius(radius) //使用构造函数的初始化列表初始化 {}string CCircle::getName() {return CCircle; }float CCircle::getArea() //实现两个基类的函数{return 3.14* m_fRadius* m_fRadius; }2.3、子类2 基于抽象类的另一个子类CRect 头文件 #ifndef RECT_H #define RECT_H#includeIShape.hclass CRect : public IShape {public:CRect(float nWidth, float nHeight);public:virtual float getArea();virtual string getName();private:float m_fWidth; //矩形类具有自己的两个属性宽和高float m_fHeight; };#endifcpp实现文件 #includeRect.hCRect::CRect(float fWidth, float fHeight):m_fWidth(fWidth), m_fHeight(fHeight) {}float CRect::getArea() {return m_fWidth * m_fHeight; }string CRect::getName() {return CRect; }2.4、程序入口 #includeRect.h #includeCircle.husing namespace std;int main() {IShape* pShape NULL; //定义了一个抽象类的指针注意抽象类不能定义对象但是可以定义指针pShape new CCircle(20.2); //基类指针指向派生类的对象cout pShape-getName() pShape-getArea() endl;delete pShape; //释放了CCirle对象所占的内存但是指针是没有消失的它现在就是一个野指针我们在使用之前必须对它赋值pShape new CRect(20, 10); //基类指针指向派生类的对象cout pShape-getName() pShape-getArea() endl;return 0; }上述例子中定义了一个图形基类IShape只有头文件基类中定义两种方法计算面积和返回图形名称但并没有给出实现方式也不知道是什么图形无法实现。圆形类CCircle和矩形类CRect继承于基类IShape分别实现了面积的计算与返回图形名称两种方法。 在程序入口以指针pShape 的方式指代基类IShape而基类指针再指向子类。
http://www.hkea.cn/news/14411057/

相关文章:

  • 中山本地网站建设哪个网站做摄影师好
  • 晋中推广型网站开发网站黑链代码
  • 扬州建设会计学会网站苏格网站建设
  • 建立网站 营业执照广州安全教育平台登录账号
  • 湖南网站设计亮点wordpress 后台管理界面插件
  • 企业网站定制公司汕头网站推广优化
  • 目前比较流行的公司网站建站技术无广告免费追剧软件
  • 专门做二手手机的网站吗制作简历哪个网站好
  • 如何做网站跳转登入个人参与防疫工作总结
  • 建设网站昌都地区wordpress给分类页加关键词
  • 网站建设过程中的网站设计怎么做响应式网站图解
  • 网站开发课程设计大学生创新产品设计作品
  • 景观设计网站推荐seo推广软件哪个好
  • 幽灵按钮网站网站建设技能培训
  • 中山祥云做的网站小制作简单又漂亮
  • 男女做爰网站龙岩在线网
  • 泰安营销型网站建设辽宁省城乡和住房建设厅老网站
  • 学校介绍网站模板网站建设学的是什么知识
  • 简单个人网站开发营销存在的问题及改进
  • 冲压加工瑞安有做网站吗阿里云加WordPress建站
  • 公司做网站应记入哪个会计科目wordpress谷歌地图插件
  • 网站建设seo优化浙江网址注册在哪里注册
  • 泰安网站建设如何永康网站推广
  • 云主机怎么上传网站360建筑网一级消防工程师
  • 亿唐网不做网站做品牌考试题wordpress占用id
  • 上海网站建设推荐案例怎么自己开公司
  • seo整站优化托管国内最新新闻10条
  • 郴州高端网站建设比较好的网站建设品牌设计
  • 商城站在哪个地方wordpress+移动端优势
  • 开设网站需要什么工作室图片 实拍