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

北京天津网站建设哪家公司好携创网中国工商注册网

北京天津网站建设哪家公司好,携创网中国工商注册网,被骗做了小程序代理,江苏省建设厅网站目录 1. 虚函数 2. 纯虚函数 C 中的虚函数和纯虚函数都是实现多态的重要机制。多态可以让不同的对象以相同的方式进行操作#xff0c;从而简化代码的编写和维护。 1. 虚函数 虚函数是一种在基类中声明的函数#xff0c;可以在派生类中进行重写。在运行时#xff0c;根据对…  目录 1. 虚函数 2. 纯虚函数 C 中的虚函数和纯虚函数都是实现多态的重要机制。多态可以让不同的对象以相同的方式进行操作从而简化代码的编写和维护。 1. 虚函数 虚函数是一种在基类中声明的函数可以在派生类中进行重写。在运行时根据对象的类型确定调用的函数版本这就是所谓的动态绑定运行时多态。         在C中将一个成员函数声明为虚函数只需要在函数声明前加上virtual关键字。如果在基类中声明了一个虚函数派生类中的同名函数也将自动成为虚函数除非显式地指定为非虚函数。 虚函数的一个重要作用是实现运行时多态。在基类指针或引用指向派生类对象方便统一接口时通过虚函数可以调用派生类中实现的版本而不是基类中的版本。这种行为被称为虚函数重写override它可以让不同的对象以相同的方式进行操作。 举个栗子 #include iostreamusing namespace std;class Shape { public:virtual double area() const {return 0;} };class Rectangle : public Shape { public:Rectangle(double w, double h) : width(w), height(h) {}virtual double area() const {return width * height;} private:double width, height; };class Circle : public Shape { public:Circle(double r) : radius(r) {}virtual double area() const {return 3.1415926 * radius * radius;} private:double radius; };int main() {Shape* shapes[] {new Rectangle(3, 4), new Circle(2)};for (int i 0; i 2; i) {cout Area: shapes[i]-area() endl;}return 0; } 在这个示例中我们定义了一个Shape基类它包含一个虚函数area。Rectangle和Circle派生类分别重写了area函数并实现了各自的面积计算方法。在main函数中我们创建了一个Shape类型的指针数组并将其指向两个不同类型的对象。通过调用虚函数area我们可以使用相同的方式计算这两个对象的面积而不必考虑它们的具体类型。实现调用接口的统一都用基类指针进行调用就行因为基类定义了虚函数会自动生成一个虚函数指针指向虚函数表子类的重写入口放在虚函数表中 2. 纯虚函数 纯虚函数是一种特殊的虚函数它没有函数体需要在派生类中进行实现。定义纯虚函数的语法是在函数声明后面加上“0”。包含纯虚函数的类被称为抽象类不能实例化对象只能用于派生其他类。 纯虚函数的一个重要作用是定义接口。通过在基类中定义一组纯虚函数可以明确指定子类必须实现的方法。这可以保证派生类的一致性同时也可以简化代码的设计和维护。 举个栗子 #include iostreamusing namespace std;class Shape { public:virtual double area() const 0;virtual void draw() const 0; };class Rectangle : public Shape { public:Rectangle(double w, double h) : width(w), height(h) {}virtual double area() const {return width * height;}virtual void draw() const {cout Drawing a rectangle endl;} private:double width, height; };class Circle : public Shape { public:Circle(double r) : radius(r) {}virtual double area() const {return 3.1415926 * radius * radius;}virtual void draw() const {cout Drawing a circle endl;} private:double radius; };int main() {Shape* shapes[] {new Rectangle(3, 4), new Circle(2)};for (int i 0; i 2; i) {cout Area: shapes[i]-area() endl;shapes[i]-draw();}return 0; } 在这个示例中我们在Shape基类中定义了两个纯虚函数area和draw。这个基类不能被实例化只能被用于派生其他类。Rectangle和Circle派生类分别实现了area和draw函数并实现了各自的面积计算方法和绘制方法。在main函数中我们创建了一个Shape类型的指针数组并将其指向两个不同类型的对象。通过调用纯虚函数area和draw我们可以使用相同的方式计算这两个对象的面积并绘制它们而不必考虑它们的具体类型。 需要注意的是纯虚函数必须在派生类中进行实现否则派生类也将变成抽象类。如果在派生类中不想实现某个纯虚函数可以将其声明为虚函数并提供一个默认实现。这个默认实现可以是一个空函数体也可以是一个具体的实现具体的实现可能会在某些情况下有用。 总之虚函数和纯虚函数是C中实现多态的重要机制。通过虚函数和纯虚函数我们可以实现运行时多态和定义接口。这可以让不同的对象以相同的方式进行操作从而简化代码的编写和维护。 参考C中虚函数和纯虚函数详解_c 虚函数和纯虚函数_不见白鹿的博客-CSDN博客
http://www.dnsts.com.cn/news/229190.html

相关文章:

  • 怎样看网站的建设时间表如何查询公司的详细信息
  • iis7 发布静态网站网站运营怎么学
  • 襄阳谷城网站开发网站开发人员叫什么
  • 网站在浏览器的图标怎么做南阳网站推广
  • 合肥网站建设求职简历企业邮箱官方网站
  • html音乐网站源码做电气设计有哪些好的网站
  • 电商实训网站建设报告当当网网站内容建设的分析
  • pc三合一网站免费的小程序
  • 国内网站域名2345网址大全浏览器
  • 宝山php网站开发培训邯郸网络骗子名单
  • 罗湖商城网站设计制作网站设计介绍怎么写
  • 个人可以做彩票网站吗企业营销策划及推广
  • 找公司做网站需要咨询什么问题wordpress取消自动更新
  • 网站开发提现功能商城网站怎么建
  • 怎么查看网站建设时间营销案例最新
  • 亚马逊网站域名网页设计与网站建设在线考试1
  • 豫建设标去哪个网站个人工商查询官网入口查询
  • 礼品做便宜的网站网站制作制作公司
  • 重庆网站建设培训学校品牌网站查询
  • Wordpress网站防止采集cms快速建站
  • 规划设计 网站 网站结构域名购买成功后怎么做网站
  • 教育考试类网站建设wordpress 4.8 php版本
  • 云服务器建立多个网站吗wordpress悬浮目录
  • 网站怎么防黑客竞价推广返点开户
  • 网站设计行业资讯为什么做网站需要服务器
  • 网站建设背景介绍怎么写温室大棚建设 网站及排名转卖
  • 建设彩票网站多少钱河北建设厅网站技术电话
  • 营销型企业网站的类型购物网站服务器带宽
  • 建设银行软件官方网站下载适合小企业的erp软件
  • 网站首页设计及运行效果网站开发怎么样?