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

带数据库网站设计好的在线crm系统

带数据库网站设计,好的在线crm系统,网站关键词热度,汽车租赁企业网站源码多态的实现依赖于虚函数。类存在虚函数&#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/78541.html

相关文章:

  • 新网站建设 英文翻译seo优化收费
  • 东莞网络建设关键词排名优化工具
  • 中国企业500强营业收入东莞seo优化公司
  • 做平面设计都在那个网站找免费素材推广平台的方法
  • 网站建设规划设计公司seo快速排名软件平台
  • 国际服务器网站优化内容
  • web网站设计要怎么做合肥百度推广优化排名
  • 要是360网站不安全怎么做如何推广外贸型网站
  • 上行10m企业光纤做网站app下载量推广
  • 天津网站免费制作最近的国际新闻热点
  • 企业app商城开发网站建设免费网站在线客服软件
  • 一个网站能卖多少钱?昆明关键词优化
  • 昆明网站建设哪家最好重庆快速排名优化
  • 网站建设孝感营销软文100字
  • 青岛专业做网站优化在线网页服务器
  • 做电子签章登录那个网站如何建立网上销售平台
  • wordpress首页显示摘要数字深圳优化公司样高粱seo
  • 网站未备案可以做经营活动吗灰色关键词排名技术
  • 网站在线预约模板夫唯seo视频教程
  • 北京网络营销推广seo教程下载
  • 什么网站能通过做任务赚钱关键词排名优化官网
  • 网址你懂我意思正能量万秀服务不错的seo推广
  • 婚恋网站 没法做怎样制作免费网页
  • 业绩显示屏 东莞网站建设技术支持关键词查网站
  • 淘宝客自己做网站吗seo优化网站的注意事项
  • 河北网站建设市面价搜索引擎成功案例分析
  • wordpress设置xmlrpcseo技术论坛
  • 公司网站工商备案怎么做个人网站怎么制作
  • 旅游网站源代码模板泉州全网营销
  • 国内哪些公司做商城型网站靠谱吗网上推广赚钱方法