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

网站站点风格长春seo培训

网站站点风格,长春seo培训,做自己看视频的网站,网站搜不出来怎么办文章目录 虚函数 (Virtual Function)纯虚函数 (Pure Virtual Function)主要区别实际应用示例 C中的虚函数和纯虚函数是实现多态性的重要机制。 虚函数 (Virtual Function) 虚函数是在基类中用virtual关键字声明的函数,它允许派生类重写(override)该函数的实现。当…

文章目录

    • 虚函数 (Virtual Function)
    • 纯虚函数 (Pure Virtual Function)
    • 主要区别
    • 实际应用示例

C++中的虚函数和纯虚函数是实现多态性的重要机制。

虚函数 (Virtual Function)

虚函数是在基类中用virtual关键字声明的函数,它允许派生类重写(override)该函数的实现。当通过基类指针或引用调用虚函数时,会根据对象的实际类型来决定调用哪个版本的函数,这就是动态绑定或运行时多态。

class Base {
public:virtual void show() {cout << "Base class show function" << endl;}virtual ~Base() {}  // 虚析构函数
};class Derived : public Base {
public:void show() override {cout << "Derived class show function" << endl;}
};

纯虚函数 (Pure Virtual Function)

纯虚函数是在虚函数声明后面加上= 0的函数,它没有实现。包含纯虚函数的类被称为抽象类,不能被实例化。派生类必须实现所有纯虚函数才能被实例化。

class AbstractBase {
public:virtual void pureVirtualFunction() = 0;  // 纯虚函数virtual void normalVirtualFunction() {   // 普通虚函数cout << "Normal virtual function" << endl;}virtual ~AbstractBase() {}
};

主要区别

实现方面:虚函数有默认实现,纯虚函数没有实现

类的实例化:包含纯虚函数的类是抽象类,不能实例化;只包含虚函数的类可以实例化

派生类要求:派生类可以选择是否重写虚函数,但必须实现所有继承的纯虚函数

设计意图:虚函数提供默认行为但允许定制,纯虚函数强制派生类提供具体实现

实际应用示例

#include <iostream>
#include <vector>
#include <memory>
using namespace std;// 抽象基类
class Animal {
public:virtual void makeSound() = 0;  // 纯虚函数virtual void sleep() {         // 虚函数cout << "Animal is sleeping" << endl;}virtual ~Animal() {}
};class Dog : public Animal {
public:void makeSound() override {cout << "Woof!" << endl;}
};class Cat : public Animal {
public:void makeSound() override {cout << "Meow!" << endl;}void sleep() override {cout << "Cat is sleeping on the sofa" << endl;}
};int main() {vector<unique_ptr<Animal>> animals;animals.push_back(make_unique<Dog>());animals.push_back(make_unique<Cat>());for (auto& animal : animals) {animal->makeSound();  // 多态调用animal->sleep();      // 多态调用}return 0;
}

这种设计模式在实际开发中非常有用,比如图形界面框架中的控件基类、游戏引擎中的实体类、以及各种设计模式的实现中都会大量使用虚函数和纯虚函数来实现灵活的多态架构。

http://www.dtcms.com/wzjs/125671.html

相关文章:

  • 有的网站打不开 但别人电脑能打开网上全网推广
  • 网站建设制作设计推广优化网站seo源码
  • 老司机带带我看精彩免费游戏seo关键词教程
  • 建设网站方案 ppt自动化测试培训机构哪个好
  • 商洛免费做网站企业如何网络推广
  • php钓鱼网站开发廊坊百度推广seo
  • 上海装修公司电话怎么优化网站性能
  • 宣城市建设银行网站首页厦门seo关键词排名
  • 石家庄做网站推广高级seo课程
  • 深圳 网站公司色盲图
  • 西宁网站建设制作公司外贸网站搭建
  • 网站备案提交信息吗成都网站建设技术支持
  • wordpress职业学校模板保定seo博客
  • 什么是规划网站株洲疫情最新情况
  • 专做国外采购的网站推广软文代写
  • 网站正能量晚上不用下载进入免费北京疫情又严重了
  • 网站数据搬家网站排名seo
  • 网站专题页面开发网络营销企业培训
  • 做一个微信小程序游戏需要多少钱西安seo服务商
  • 网站qq启动链接怎么做如何免费引流推广
  • 本机做网站服务上传到鱼头seo软件
  • dw是做网站的软件吗百度普通下载
  • 怎么用阿帕奇做网站seo文章优化技巧
  • 自己建一个外贸网站互联网营销师证书怎么考多少钱
  • 12306网站哪个公司做的拉新app推广平台排名
  • favicon.ico 网站的根目录临沂seo公司稳健火星
  • 成都做网站建设正规接单赚佣金的平台
  • 酒类网站建设方案案深圳网络营销推广培训
  • 中山网站排名推广友情链接举例
  • 南阳做网站费用seo外包服务方案