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

企业网站如何建设报告psd数据网站

企业网站如何建设报告,psd数据网站,三合一网站制作价格,微信公众号服务平台在C中#xff0c;可以将虚函数声明为纯虚函数#xff0c;语法格式为#xff1a; virtual 返回值类型 函数名 (函数参数) 0; 纯虚函数没有函数体#xff0c;只有函数声明#xff0c;在虚函数声明的结尾加上0#xff0c;表明此函数为纯虚函数。 最后的0并不表示函数返回…在C中可以将虚函数声明为纯虚函数语法格式为 virtual 返回值类型 函数名 (函数参数) 0; 纯虚函数没有函数体只有函数声明在虚函数声明的结尾加上0表明此函数为纯虚函数。 最后的0并不表示函数返回值为0它只起形式上的作用告诉编译系统“这是纯虚函数”。 包含纯虚函数的类称为抽象类Abstract Class。之所以说它抽象是因为它无法实例化也就是无法创建对象。原因很明显纯虚函数没有函数体不是完整的函数无法调用也无法为其分配内存空间。 抽象类通常是作为基类让派生类去实现纯虚函数。派生类必须实现纯虚函数才能被实例化。 纯虚函数使用举例 ​ #include iostreamusing namespace std;//线class Line{public:Line(float len);virtual float area() 0;virtual float volume() 0;protected:float m_len;};Line::Line(float len): m_len(len){ }//矩形class Rec: public Line{public:Rec(float len, float width);float area();protected:float m_width;};Rec::Rec(float len, float width): Line(len), m_width(width){ }float Rec::area(){ return m_len * m_width; }//长方体class Cuboid: public Rec{public:Cuboid(float len, float width, float height);float area();float volume();protected:float m_height;};Cuboid::Cuboid(float len, float width, float height): Rec(len, width), m_height(height){ }float Cuboid::area(){ return 2 * ( m_len*m_width m_len*m_height m_width*m_height); }float Cuboid::volume(){ return m_len * m_width * m_height; }//正方体class Cube: public Cuboid{public:Cube(float len);float area();float volume();};Cube::Cube(float len): Cuboid(len, len, len){ }float Cube::area(){ return 6 * m_len * m_len; }float Cube::volume(){ return m_len * m_len * m_len; }int main(){Line *p new Cuboid(10, 20, 30);coutThe area of Cuboid is p-area()endl;coutThe volume of Cuboid is p-volume()endl;p new Cube(15);coutThe area of Cube is p-area()endl;coutThe volume of Cube is p-volume()endl;return 0;}​ 运行结果 The area of Cuboid is 2200 The volume of Cuboid is 6000 The area of Cube is 1350 The volume of Cube is 3375 本例中定义了四个类它们的继承关系为Line -- Rec -- Cuboid -- Cube。 Line 是一个抽象类也是最顶层的基类在 Line 类中定义了两个纯虚函数 area() 和 volume()。 在 Rec 类中实现了 area() 函数所谓实现就是定义了纯虚函数的函数体。但这时 Rec 仍不能被实例化因为它没有实现继承来的 volume() 函数volume() 仍然是纯虚函数所以 Rec 也仍然是抽象类。 直到 Cuboid 类才实现了 volume() 函数才是一个完整的类才可以被实例化。 可以发现Line 类表示“线”没有面积和体积但它仍然定义了 area() 和 volume() 两个纯虚函数。这样的用意很明显Line 类不需要被实例化但是它为派生类提供了“约束条件”派生类必须要实现这两个函数完成计算面积和体积的功能否则就不能实例化。 在实际开发中你可以定义一个抽象基类只完成部分功能未完成的功能交给派生类去实现谁派生谁实现。这部分未完成的功能往往是基类不需要的或者在基类中无法实现的。虽然抽象基类没有完成但是却强制要求派生类完成这就是抽象基类的“霸王条款”。 抽象基类除了约束派生类的功能还可以实现多态。请注意第 51 行代码指针p 的类型是 Line但是它却可以访问派生类中的 area() 和 volume() 函数正是由于在 Line 类中将这两个函数定义为纯虚函数如果不这样做51 行后面的代码都是错误的。我想这或许才是C提供纯虚函数的主要目的。 关于纯虚函数的几点说明 1) 一个纯虚函数就可以使类成为抽象基类但是抽象基类中除了包含纯虚函数外还可以包含其它的成员函数虚函数或普通函数和成员变量。 2) 只有类中的虚函数才能被声明为纯虚函数普通成员函数和顶层函数均不能声明为纯虚函数。如下例所示 //顶层函数不能被声明为纯虚函数void fun() 0; //compile errorclass base{public ://普通成员函数不能被声明为纯虚函数void display() 0; //compile error};
http://www.hkea.cn/news/14409074/

相关文章:

  • 肥城网站开发公司智汇隆网站建设
  • 网站推广工做计划范本龙口网站建设公司哪家好
  • 新昌做网站票付通app下载
  • 西安seo建站网站设计的初衷
  • 网站目录结构设计应注意的问题做网站怎么合并单元格
  • 网站制作 南通做一个手机app大概需要多少钱
  • 网站建设毕业设计评价做网站用最新软件
  • 网站开发都做什么什么是网站关键词
  • 如何用dede做带下单的网站荣耀商城手机官网
  • 搭建网站的步骤和顺序30天网站建设实录视频云盘
  • 外国炫酷网站设计专门做mmd的网站
  • 网站开发技术要求深圳fpc人才网官网
  • 简单做网站的软件营销型网站 策划运营网站
  • 爱站seo综合查询有pc网站 移动网站怎么做
  • 电子商务网站建设平台郑州政策最新消息
  • 高毅资产网站谁做的企业vi设计需求
  • 网站效果展示广州培训网站建设
  • 大型企业网站开发清新区住房和城乡建设局网站
  • 杭州专门做网站网页设计基础开题报告及网页流程图
  • zend搭建wordpress优化大师免安装版
  • wordpress 又拍云加速长沙关键词优化新行情报价
  • 有哪些网站做的比较好广州网站建设出售
  • 网站开发薪水一般多少网站建设与运维预算
  • 门户网站建设情况总结重庆市建设工程造价信息网官方
  • 网站 横幅大宗交易平台
  • 邯郸网站制作地方杭州品牌设计公司有哪些
  • 用自家宽带做网站服务器攻击Wordpress网站
  • 拓客网站建设企业营销型网站特点
  • 汕头企业建站深圳市政工程招标网
  • 做网站的一般步骤微商平台