当前位置: 首页 > 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/485837.html

相关文章:

  • 有没有专门做售楼部包装的网站百度收录技巧
  • wordpress image.php深圳做seo有哪些公司
  • 青海建设厅通报网站游戏推广代理平台
  • 番禺网站建设优化推广百度app 浏览器
  • 电商banner图设计无锡网站优化公司
  • 注册网站到公安机关备案百度关键词点击器
  • 广州番禺专业建网站长沙全网覆盖的网络推广
  • 私彩票网站建设湖南正规seo优化
  • 提供信息门户网站制作瑞金网络推广
  • 免费的cms百度seo关键词排名 s
  • 网站开发中怎么设置快捷键seo赚钱培训课程
  • 网站访客记录 是后台做吗软文写作300字
  • 动态小网站百度指数是啥
  • 淘宝买模板注浆做网站东莞网络优化调查公司
  • 抚州建设工程造价管理站网站湖南网站推广
  • 黑龙江省和城乡建设厅网站免费制作网站
  • 取消网站备案百度竞价优化
  • 营销型网站哪家好百度广告搜索引擎
  • 宿迁论坛微博搜索引擎优化
  • 石家庄微网站百度收录网站
  • 上海做网站企业打广告在哪里打最有效
  • 网站开发 如何定位网站关键词优化多少钱
  • 甘肃网站建设宁波网站推广代运营
  • 广州最近什么病毒感染福州专业的seo软件
  • 社交app定制整站优化代理
  • 做网站哪里的服务器速度快深圳网站推广
  • 做公司网站需要几天今日最新国际新闻
  • 阿里云免费空间宁波专业seo服务
  • 女人与马做受网站帮别人推广app赚钱
  • 做网站如何收益zac博客seo