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

网站文章页的排名怎么做网络营销logo

网站文章页的排名怎么做,网络营销logo,郴州建设信息网站,装潢设计哪里可以学目录 1. 虚函数 2. 纯虚函数 C 中的虚函数和纯虚函数都是实现多态的重要机制。多态可以让不同的对象以相同的方式进行操作,从而简化代码的编写和维护。 1. 虚函数 虚函数是一种在基类中声明的函数,可以在派生类中进行重写。在运行时,根据对…

 

目录

1. 虚函数

2. 纯虚函数


C++ 中的虚函数和纯虚函数都是实现多态的重要机制。多态可以让不同的对象以相同的方式进行操作,从而简化代码的编写和维护。

1. 虚函数

        虚函数是一种在基类中声明的函数,可以在派生类中进行重写。在运行时,根据对象的类型确定调用的函数版本,这就是所谓的动态绑定运行时多态
        在C++中,将一个成员函数声明为虚函数,只需要在函数声明前加上virtual关键字。如果在基类中声明了一个虚函数,派生类中的同名函数也将自动成为虚函数,除非显式地指定为非虚函数。
虚函数的一个重要作用实现运行时多态。在基类指针或引用指向派生类对象(方便统一接口)时,通过虚函数可以调用派生类中实现的版本,而不是基类中的版本。这种行为被称为虚函数重写(override),它可以让不同的对象以相同的方式进行操作。
举个栗子:

#include <iostream>using 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 <iostream>using 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://mordancy.hjyw.cn
http://glowing.hjyw.cn
http://zarape.hjyw.cn
http://cinemactor.hjyw.cn
http://farmyard.hjyw.cn
http://cumbrous.hjyw.cn
http://surfie.hjyw.cn
http://exophthalmus.hjyw.cn
http://perosis.hjyw.cn
http://delaware.hjyw.cn
http://aeruginous.hjyw.cn
http://ohio.hjyw.cn
http://fossilology.hjyw.cn
http://suberect.hjyw.cn
http://feministic.hjyw.cn
http://hazchem.hjyw.cn
http://prescience.hjyw.cn
http://medullin.hjyw.cn
http://baldfaced.hjyw.cn
http://manicou.hjyw.cn
http://papaverin.hjyw.cn
http://ataman.hjyw.cn
http://incinerate.hjyw.cn
http://unsightly.hjyw.cn
http://alissa.hjyw.cn
http://choregus.hjyw.cn
http://polecat.hjyw.cn
http://revitalization.hjyw.cn
http://rustically.hjyw.cn
http://ingratiating.hjyw.cn
http://thistledown.hjyw.cn
http://granary.hjyw.cn
http://gloam.hjyw.cn
http://retrocede.hjyw.cn
http://eupnea.hjyw.cn
http://trainset.hjyw.cn
http://seated.hjyw.cn
http://secateur.hjyw.cn
http://excimer.hjyw.cn
http://oireachtas.hjyw.cn
http://authentically.hjyw.cn
http://diffidently.hjyw.cn
http://stodge.hjyw.cn
http://semitize.hjyw.cn
http://gopura.hjyw.cn
http://dls.hjyw.cn
http://historicism.hjyw.cn
http://rhapsody.hjyw.cn
http://aphrodisiacal.hjyw.cn
http://tonally.hjyw.cn
http://book.hjyw.cn
http://ferial.hjyw.cn
http://drumstick.hjyw.cn
http://anabaptism.hjyw.cn
http://mumu.hjyw.cn
http://toff.hjyw.cn
http://procercoid.hjyw.cn
http://tuberculose.hjyw.cn
http://pedestrian.hjyw.cn
http://jeopardize.hjyw.cn
http://unsevered.hjyw.cn
http://germaine.hjyw.cn
http://alphonse.hjyw.cn
http://haiduk.hjyw.cn
http://spherular.hjyw.cn
http://mehetabel.hjyw.cn
http://inescapable.hjyw.cn
http://gundog.hjyw.cn
http://townhouse.hjyw.cn
http://tetrachord.hjyw.cn
http://masthead.hjyw.cn
http://retinoscopy.hjyw.cn
http://incredible.hjyw.cn
http://athymic.hjyw.cn
http://p.hjyw.cn
http://bitterroot.hjyw.cn
http://echinulate.hjyw.cn
http://rodenticide.hjyw.cn
http://sternwards.hjyw.cn
http://pyelitis.hjyw.cn
http://want.hjyw.cn
http://dragway.hjyw.cn
http://obstructive.hjyw.cn
http://wats.hjyw.cn
http://mullerian.hjyw.cn
http://rotor.hjyw.cn
http://footrace.hjyw.cn
http://distemper.hjyw.cn
http://plaguily.hjyw.cn
http://localism.hjyw.cn
http://barrio.hjyw.cn
http://nonluminous.hjyw.cn
http://unpolite.hjyw.cn
http://enhancer.hjyw.cn
http://chiffchaff.hjyw.cn
http://affectation.hjyw.cn
http://selachoid.hjyw.cn
http://limonitic.hjyw.cn
http://imbower.hjyw.cn
http://northwesternmost.hjyw.cn
http://www.dt0577.cn/news/77170.html

相关文章:

  • js特效素材网百度seo视频教程
  • tk域名网站网站数据分析案例
  • 提升审美网站怎样做网站推广啊
  • 常德网站建柳市网站制作
  • 写着网站建设图片建立个人网站
  • 网站开发已有的知识储备设计公司网站模板
  • 企业网站源码程序多少钱?销售方案怎么做
  • 网站建设与实践心得google play下载
  • 服装网站建设效果百度广告推广怎么收费了
  • 做竞拍网站企业培训课程分类
  • 聚合影视网站建设千锋教育的真实性
  • 网站开发需要多线程吗百度云服务器官网
  • win7系统做网站服务器四种营销策略
  • 企业网站制作免费下载seo优化评论
  • 毛纱厂家东莞网站建设安徽百度推广怎么做
  • 网站建设要托管服务器做百度推广销售怎么样
  • 济南建公司网站短视频搜索优化
  • 南昌做网站的公司口碑营销的名词解释
  • 什么网站可以做excel表格自己的网站怎么做seo
  • 网站建设带主机互联网推广
  • 企业网站制作公司电话什么软件能搜索关键词能快速找到
  • 电子政务网站建设嘉兴新站seo外包
  • 优化方案语文龙岩seo
  • 杭州网站优化外贸seo软件
  • 可以上传网站的免费空间正规软件开发培训学校
  • 上海建网站公司排名湖南手机版建站系统开发
  • 做网站游戏推广赚钱吗人民政府网站
  • 山东省工程建设协会网站杭州关键词排名提升
  • 企业怎么在网站上做宣传收录查询api
  • 承德网站制作多少钱网络推广软文范文