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

asp.ne做网站做装饰网站公司

asp.ne做网站,做装饰网站公司,网站销售源码,行业关键词分类文章目录 继承多态 继承 继承的作用是代码复用。派生类自动获得基类的除私有成员外的一切。基类描述一般特性,派生类提供更丰富的属性和行为。在构造派生类时,其基类构造函数先被调用,然后是派生类构造函数。在析构时顺序刚好相反。 // 基类…

文章目录

  • 继承
  • 多态

继承

在这里插入图片描述
继承的作用是代码复用。派生类自动获得基类的除私有成员外的一切。基类描述一般特性,派生类提供更丰富的属性和行为。在构造派生类时,其基类构造函数先被调用,然后是派生类构造函数。在析构时顺序刚好相反。

// 基类 LinearList
class LinearList{int *buffer;int size;
public:LinearList(int num){size = (num>10)?num:10;buffer = new int[size];}~LinearList(){delete []buffer;}bool insert(int x, int i);  // 线性表第i个元素后插入新元素,返回成功或失败bool remove(int &x, int i); // 删除线性表第i个元素,返回成功或失败int element(int i) const; // 返回线性表第i个元素, const表示不会修改调用它的对象的任何非静态成员数据int search(int x) const; // 查找值为x的元素并返回其序号int length() const; //返回线性表的长度
};
// 派生类 Queue
class Queue:private LinearList{  // 基类的公有和保护成员均变成派生类的私有成员
public:bool enQueue(int x){  // 元素x入队,返回操作成功或失败return insert(x, length());}bool deQueue(int &x){  // 元素出队, x带回队头元素return remove(x, 1);}
};
// 派生类 Stack
class Stack:private LinearList{
public:bool push(int x){  // 元素x入栈,返回操作成功或失败return insert(x, 1); }bool pop(int &x){  // 元素出栈,x带回栈顶元素return remove(x, 1);}
};

多态

在这里插入图片描述
多态的作用是使用一个接口调用多种方法,具体调用哪个函数,是在程序运行时决定的。实现多态,需要在派生类中定义与基类成员函数完全相同的方法签名(返回值、函数名、形参都完全一样)。作用在普通成员函数上,称为重置或覆盖。作用在虚成员函数上,称为实现。虚函数的前面都有virtual关键字,纯虚函数名末尾还有"=0"的标记,纯虚函数仅有定义,没有函数实现,当作接口使用。含有纯虚函数的类称为抽象类,不能创建对象,只能被继承。只有类的成员函数才能是虚函数,静态成员函数不能是虚函数,构造函数不能是虚函数,析构函数可以是虚函数。

#include <iostream>
#include <math.h>
// 基类
class Figure{
public:virtual double getArea() = 0; // 纯虚函数
}; // 千万不要忘记这个分号
// 派生类 Rectangle
class Rectangle:public Figure{
protected:double height;double width;
public:Rectangle(){}Rectangle(double height, double width){this->height = height;this->width = width;}double getArea(){return height*width;}
};
// 派生类 Triangle
class Triangle:public Figure{double la;double lb;double lc;
public:Triangle(double la, double lb, double lc){this->la = la;this->lb = lb;this->lc = lc;}double getArea(){double s = (la+lb+lc)/2.0;return sqrt(s*(s-la)*(s-lb)*(s-lc));}
};
// 主函数
void main(){Figure *figures[2] = {new Triangle(2,3,3), new Rectangle(5,8)};for(int i=0; i<2; i++){std::cout << "figures[" << i << "] area=" << figures[i]->getArea() << std::endl;delete figures[i];}
}
http://www.yayakq.cn/news/444059/

相关文章:

  • 合肥企业快速建站虚拟币网站开发
  • 网站建设价格与哪些WordPress全站广告
  • 全屋定制哪个网站好怎样建设电子商务网站
  • 企业网站部署计划saas系统的优缺点
  • 优化核心系列网站阿里巴巴网站怎么做
  • 靖江市建设局网站珠宝网站建设平台分析报告
  • 跳出率 网站做网络推广有前途吗
  • 企业大型网站开发设计建站流程微信小程序模板开发
  • 搭建微信网站怎么做用python做的网站模板
  • 免费舆情网站下载wordpress对空间的要求
  • 仁寿建设局网站大学生个人简历word模板免费下载
  • 网站开发公司商业计划书租用空间做网站
  • 魔方网站导航设计google优化师
  • 利川网站建设个人app
  • 佛山网站搜索优化delphi WordPress
  • 网站右下角悬浮窗口js代码 兼容各浏览器做网站送推广
  • 网站建设3000字昆山哪里有人做网站
  • 四川省建设厅网站为什么打不开wordpress没有描述
  • 海外产品网站建设网站中文名称
  • 建wiki网站用ps软件做ppt模板下载网站
  • 斗门区建设局网站做网站要有自己服务器吗
  • 二手物品交换网站建设制作个人网站的软件
  • 成都网站建设 lkcms云南网站建设优化技术
  • 浦东做网站律师事务所免费咨询
  • 零代码自助建站平台手机app制作视频教程
  • 网站建设 广告推广博客网站开发技术
  • 郑州网站建设庄园wordpress版权声明
  • p2vr做的网站上传wordpress my vistors
  • h5网站开发实例教程企业搜索平台
  • 碑林微网站建设太原网站优化方案