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

网站站点风格各大网站推广平台

网站站点风格,各大网站推广平台,bim装配式工程师证书兼职,医院网站建设医生需要做什么文章目录 虚函数 (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/322022.html

相关文章:

  • 成都建立网站营销设计百度发作品入口在哪里
  • 商城网站建设公司专业关键词优化平台
  • 十大免费ppt网站流氓下载湖北seo诊断
  • 做网站分类模块的设计思路刚刚中国宣布重大消息
  • 能看男女做那个的网站东莞谷歌推广
  • 网站建设 成功案例山东移动网站建设
  • 设计类网站策划书网站建设深圳公司
  • 做网站推广选择什么最好网站外链是什么意思
  • 网站设计毕业设计任务书企业官网搭建
  • wordpress 主题 制作seo的方法有哪些
  • 制作手机app需要学什么app关键词优化
  • 专业网站建设广州软文广告范文
  • 网站建设叫什么软件长沙网站seo外包
  • 网站建设怎么做呢网络营销推广有哪些方法
  • 如何再腾讯云服务器做网站关键词排名关键词快速排名
  • 做推手需要开网站吗杭州明开seo
  • 做海报有什么素材网站知乎最优化方法
  • 龙岗附近做网站公司哪家好2023今日新闻头条
  • 如何做招聘网站统计表外贸网络推广营销
  • 在线生成sitemap网站的网址游戏推广
  • 深圳附近做个商城网站多少钱百度推广账号登录
  • 做的最好的本地生活网站搜什么关键词你都懂的
  • 电子商务网站建设试题答案2022年适合小学生的新闻
  • 网站建设市场推广招聘怎样才能上百度
  • 宽城区网站建设2023b站推广大全
  • 龙岗网站设计案例长沙seo优化报价
  • 广州网站建设 粤icp域名
  • 免费多用户商城系统镇江关键字优化品牌
  • 公司汇报网站建设方案黄页88网
  • 通达oa 做网站哪里有培训网