网站开发中设置会员等级设计logo商标

张小明 2026/1/16 13:52:36
网站开发中设置会员等级,设计logo商标,关于网站建设的职位,注册公司要多少资金起步多继承派生类的语法格式#xff1a;class 派生类名 : 继承方式1 基类名1,继承方式2 基类名2,…… { ……//派生类新添加的成员};多继承派生类对象的构造和析构:派生类名(参数表):基类名1(参数表1),基类名2(参数表2),对象成员1(参数表3),对象成员2(参数…多继承派生类的语法格式class 派生类名 : 继承方式1 基类名1,继承方式2 基类名2,…… {……//派生类新添加的成员};多继承派生类对象的构造和析构:派生类名(参数表):基类名1(参数表1),基类名2(参数表2),对象成员1(参数表3),对象成员2(参数表4),… {//派生类新添加的成员}派生类构造执行顺序是按照基类对象、成员对象、普通变量的高到低优先级执行的其中其中基类对象的调用顺序和声明继承关系的顺序有关。但是析构函数的执行顺序与之相反先调用派生类的析构函数再调用对象成员的析构函数最后调用基类的析构函数。访问不同基类同名成员时的二义性class A{ public: int value; void f(){}; }; class B{ public: int value; void f(){}; void g(){}; }; class C: public A, public B{ public: void g(){}; void h(){}; }; int main(){ C C1; C1.f(); C1.value9; return 0; }这里在调用f()和value时会出现二义性因为编译器不知道你访问的是A和B中的哪一个()和value。所以在此我们需要填写他的“绝对路径”类名对成员加以限定改成int main(){C C1;C1.A::f();C1.A::value9//访问A的f()和value。return 0;}第二种情况class A{ public: int a; void g( ){}; }; class B1: public A{ int b1; }; class B2: public A{ int b2; }; class C: public B1, public B2{ int c; public: int f(){}; }; int main(){ C Cobj; Cobj.a8; Cobj.A::a9; Cobj.g( ); return 0; }这一二义性的冲突是因为B1、B2都有一个公共基类A这个公共基类会在派生类对象中产生两个基类子对象于是我们也要来对此进行限定Cobj.B1::a9;或 Cobj.B2::a9;但是这还有一个问题使用绝对路径找到的基类我们也可以得知派生类对象中存在多个基类对象的拷贝导致空间浪费解决方法也很简单将A设为虚基类即可这样 B1 和 B2 继承 A 时C 最终只会保留一份 A 的子对象就不会有二义性了。虚基类虚基类子对象被合并成一个子对象这种“合并”作用使得可能出现的二义性被消除。下面是使用虚基类与没使用虚基类的概念图class A { public: int a 10; void g() { cout A的g()函数a a endl; } }; // B1虚继承A class B1 : virtual public A {}; // B2虚继承A class B2 : virtual public A {};虚基类构造函数的调用次序有着自己独特的次序规则1对于最终派生类来说虚基类的构造必须在非虚基类之前调用2同一个层次中包含多个虚基类那么按照虚基类构造函数按它们说明的次序调用。若虚基类由非虚基类派生则遵守先调用基类构造函数再调用派生类构造函数的规则。举个栗子class base{…}; class bas2{…}; class level1 : public base2, vitrual public base{…}; class level2 : public base2, vitrual public base{…}; class toplevel : public level1, vitrual public level2{…};声明toplevel 时构造顺序是从 “最顶层虚基类” 开始再到 “普通基类 / 中间类”最后到自身第一步先调用全局虚基类base被level1、level2都虚继承了所以base是全局虚基类会被优先构造且只构造 1 次→ 顺序第 1 位base第二步按照规则优先调用虚基类level2是toplevel的虚基类所以要先构造level2规则1而构造level2时要先构造它的基类level2的基类base2普通先构造 base虚基类已经构造过了不再构造规则2→ 顺序第 2-3 位base2level2 的普通基类 → level2第三步level1是toplevel的普通基类构造level1时要先构造它的基类level1的基类base2普通先构造 base虚基类已构造规则2→ 顺序第 4-5 位base2level1 的普通基类 → level1第四步最后构造toplevel→ 顺序第 6 位toplevel综合base全局虚基类→ base2level2 的普通基类→ level2toplevel 的虚基类→ base2level1 的普通基类→ level1toplevel 的普通基类→ toplevel例2class base{…}; class base2{…}; class level1 : virtual public base2, virtual public base{…}; class level2 : virtual public base2, virtual public base{…}; class toplevel : public level1, virtual public level2{…};同样的道理但不同的是level1和level2都是虚基类。此时base与base2都是全局变量当有多个全局虚基类时构造顺序遵循按最终派生类继承链中虚基类首次出现的 继承声明顺序排序。最终派生类toplevel的继承链中base2和base首次出现在level1、level2的继承声明里且声明顺序是base2在前、base在后 → 先构造base2再构造base。所以按照构造顺序定下base2为第一位basee为第二位。再通过规则1优先构造toplevel的虚基类level2为第三位再构造普通类level1为第五位最后构造自身toplevel。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

招标网站建设招标方案网络推广属于什么服务

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个企业级Win11部署工具,功能包括:1.读取CSV配置表自动生成应答文件 2.集成跳过联网注册功能 3.支持PXE/U盘/ISO多种部署方式 4.生成部署报告 5.异常自…

张小明 2026/1/4 15:21:38 网站建设

昆明公司做网站html5网页制作源码大全

第一章:Open-AutoGLM重试机制核心原理Open-AutoGLM的重试机制旨在提升大语言模型在复杂推理任务中的一致性与准确性。当模型首次生成结果未能满足预设的逻辑验证规则或置信度阈值时,系统将自动触发重试流程,而非直接返回初步输出。该机制结合…

张小明 2026/1/6 17:54:31 网站建设

长春免费做网站万能搜索引擎网站

开源新突破:Linly-Talker实现高精度数字人口型同步 在短视频与直播内容爆炸式增长的今天,一个现实问题摆在许多创作者面前:如何低成本、高效地生产高质量讲解视频?传统方式依赖真人出镜拍摄,受限于时间、场地和后期剪辑…

张小明 2026/1/10 13:45:01 网站建设

linux下网站开发路桥网站建设

PyTorch Geometric图神经网络:从技术演进到行业变革的深度解析 【免费下载链接】pytorch_geometric Graph Neural Network Library for PyTorch 项目地址: https://gitcode.com/GitHub_Trending/py/pytorch_geometric 在当今人工智能快速发展的时代&#xff…

张小明 2026/1/6 15:56:22 网站建设

网站怎么做下载功能百度seo怎么关闭

开启通信学习之旅 【免费下载链接】通信专业综合能力初级资料下载 《通信专业综合能力(初级)》是一份专为通信专业初学者设计的学习资料,内容涵盖通信基本原理、系统概述、常用设备介绍、行业标准与法规以及基础工程实践。通过系统化的知识梳…

张小明 2026/1/12 0:31:02 网站建设

手机上怎样制作网站网站开发团队取什么名字好

1. 项目简介 (Introduction) 在开源界,能够将 ERP(企业资源计划)、CRM(客户关系管理)和 HRM(人力资源管理)完美融合,并且保持代码现代化和高质量的项目并不多见。Ever Gauzy 就是其…

张小明 2026/1/4 2:52:57 网站建设