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

电商网站图片处理手游cpa推广平台

电商网站图片处理,手游cpa推广平台,电商网站seo优化目标分解,企业年金如何查询多态的实现依赖于虚函数。类存在虚函数&#xff0c;则编译器会为每个类创建虚函数表。 虚函数的调用过程&#xff1a;创建基类赋值给基类指针 --> 虚函数表指针 --> 虚函数表(数组) 里面进行查询并调用实际的函数。 基本实现 #include <iostream>// 基类 class Bas…

多态的实现依赖于虚函数。类存在虚函数,则编译器会为每个类创建虚函数表。
虚函数的调用过程:创建基类赋值给基类指针 --> 虚函数表指针 --> 虚函数表(数组) 里面进行查询并调用实际的函数。

基本实现

#include <iostream>// 基类
class Base {
public:// 虚函数1virtual void func1() { std::cout << "Base::func1()" << std::endl; }// 虚函数2virtual void func2() { std::cout << "Base::func2()" << std::endl; }
};// 派生类 继承
class Derived : public Base {
public:// 重写void func1() override { std::cout << "Derived::func1()" << std::endl; }
};int main() {Base* ptr = new Derived();// 通过基类指针调用虚函数,运行时动态绑定ptr->func1();  // 输出: Derived::func1()ptr->func2();  // 输出: Base::func2()delete ptr;return 0;
}

多重继承

派生类继承了多个基类,那就存在多个虚函数指针。

#include <iostream>// 基类A
class BaseA {
public:virtual void funcA() { std::cout << "BaseA::funcA()" << std::endl; }virtual void common() { std::cout << "BaseA::common()" << std::endl; }
};// 基类B
class BaseB {
public:virtual void funcB() { std::cout << "BaseB::funcB()" << std::endl; }virtual void common() { std::cout << "BaseB::common()" << std::endl; }
};// 派生类:多重继承自BaseA和BaseB
class Derived : public BaseA, public BaseB {
public:void funcA() override { std::cout << "Derived::funcA()" << std::endl; }void funcB() override { std::cout << "Derived::funcB()" << std::endl; }void common() override { std::cout << "Derived::common()" << std::endl; }
};int main() {Derived d;// 通过不同基类指针调用虚函数BaseA* ptrA = &d;BaseB* ptrB = &d;ptrA->funcA();   // 输出: Derived::funcA()ptrA->common();  // 输出: Derived::common()ptrB->funcB();   // 输出: Derived::funcB()ptrB->common();  // 输出: Derived::common()// 直接通过派生类对象调用d.funcA();       // 输出: Derived::funcA()d.funcB();       // 输出: Derived::funcB()d.common();      // 输出: Derived::common()return 0;
}

菱形继承

继承关系:
A
/
B C
\ /
D
虚基表

当前例子:D里面会有B和C的虚函数表,当调用公共的虚函数时,会进行进行跳转。

#include <iostream>class A {
public:virtual void foo() { std::cout << "A::foo()" << std::endl; }
};class B : virtual public A {
public:void foo() override { std::cout << "B::foo()" << std::endl; }
};class C : virtual public A {
public:void foo() override { std::cout << "C::foo()" << std::endl; }
};class D : public B, public C {
public:void foo() override { std::cout << "D::foo()" << std::endl; }
};int main() {D d;A* ptr = &d;ptr->foo();  // 输出: D::foo()return 0;
}
http://www.dtcms.com/wzjs/527349.html

相关文章:

  • 网站建设388营销型企业网站建设步骤
  • e语言可以做网站吗seo搜论坛
  • 国外产品设计网站建网站流程
  • 做网站和做系统有什么区别店铺推广方法
  • 专业做网站公司哪家好安卓手机优化软件哪个好
  • 商务网站规划建设与管理试卷企业课程培训
  • 王烨凡福建seo网站
  • 手机可怎么样做网站如何做网站的教程
  • 做喜报的网站广告联盟app下载赚钱
  • 做洗衣液的企业网站网站优化seo培
  • 做网站的哪个好引流平台有哪些
  • 深圳网站设计要点实时seo排名点击软件
  • 涉县移动网站建设网站快速优化排名排名
  • cnbeta wordpress主题广州seo成功案例
  • 北京大厂网站建设营销型网站建设设计
  • html5手机网站 源码百度本地推广
  • 什么类型的产品可以做网站出口百度竞价开户流程
  • 苏家屯有做网站的吗东莞搜索优化
  • 专注河南网站建设松松软文平台
  • 德阳网站开发中央下令全国各地核酸检测
  • 旅游网站做seo最近一个月的热点事件
  • wordpress.shopseo建站的步骤
  • 网站制作思路中国国家培训网正规吗
  • 网站开发主要内容推广业务
  • 网站建设与推广协议百度推荐现在为什么不能用了
  • 公司网站建设 入账佛山竞价账户托管
  • 智慧农业网站建设中国军事新闻最新消息
  • 什么做网站做个多少钱啊连云港seo
  • 辽宁沈阳做网站推广app赚钱的平台
  • 做网站的流量怎么算钱排名seo公司