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

网站有哪些内容网站子域名怎么设置

网站有哪些内容,网站子域名怎么设置,昆明网站建设公司排名,庆阳网站设计报价1. 基本语法 继承用于让一个类(子类/派生类)自动拥有另一个类(父类/基类)的成员。 class 父类名 { /* ... */ }; class 子类名 : 继承方式 父类名 { /* ... */ };2. 继承方式 C支持三种继承方式: 继承方式语法说明…

1. 基本语法

继承用于让一个类(子类/派生类)自动拥有另一个类(父类/基类)的成员。

class 父类名 { /* ... */ };
class 子类名 : 继承方式 父类名 { /* ... */ };

2. 继承方式

C++支持三种继承方式:

继承方式语法说明
publicclass B : public A基类public/protected成员在子类中保持public/protected
protectedclass B : protected A基类public/protected成员在子类中变为protected
privateclass B : private A基类public/protected成员在子类中变为private

3. 继承中的对象模型

• 子类对象包含父类的所有成员变量(但不包括父类的构造、析构、赋值等特殊成员函数)。
• 父类的私有成员在子类中存在,但不可直接访问

4. 构造和析构顺序

• 构造顺序:先调用父类构造函数,再调用子类构造函数。
• 析构顺序:先调用子类析构函数,再调用父类析构函数。
示例:

class Base {
public:Base() { std::cout << "Base构造" << std::endl; }~Base() { std::cout << "Base析构" << std::endl; }
};
class Derived : public Base {
public:Derived() { std::cout << "Derived构造" << std::endl; }~Derived() { std::cout << "Derived析构" << std::endl; }
};
// 输出顺序:Base构造 → Derived构造 → Derived析构 → Base析构

5. 同名成员处理

• 子类和父类有同名成员时,子类成员会隐藏父类成员
• 可用作用域运算符访问父类成员:子类对象.父类名::成员名
示例:

class Base { public: int x = 1; };
class Derived : public Base { public: int x = 2; };
Derived d;
std::cout << d.x << std::endl;         // 输出2
std::cout << d.Base::x << std::endl;   // 输出1

6. 同名静态成员处理

• 静态成员同样遵循“就近原则”,子类同名静态成员会隐藏父类同名静态成员
• 可用作用域运算符访问父类静态成员:子类名::父类名::静态成员名
示例:

class Base { public: static int val; };
int Base::val = 100;
class Derived : public Base { public: static int val; };
int Derived::val = 200;
std::cout << Derived::val << std::endl;      // 输出200
std::cout << Derived::Base::val << std::endl;// 输出100

7. 继承语法

• 单继承:class B : public A {}
• 多继承:class C : public A, public B {}

8. 菱形继承问题及解决方法

问题描述:
当一个类从两个基类继承,而这两个基类又有共同的基类时,会出现“菱形继承”,导致基类成员在最底层子类中有两份拷贝,产生二义性。
示例:

class A { public: int x; };
class B : public A {};
class C : public A {};
class D : public B, public C {}; // D中有两份A

解决方法:
使用虚继承,让共同基类只保留一份:

class A { public: int x; };
class B : virtual public A {};
class C : virtual public A {};
class D : public B, public C {}; // D中只有一份A

虚继承的实现细节:
• 编译器通过在子类对象中引入虚基类指针(vbptr)虚基类表(vbtable)来实现虚继承。
• 每个虚继承的子类对象中包含指向虚基类的指针,确保无论通过哪条继承路径,最终都指向同一份基类子对象。
• 虚继承会略微增加对象的内存开销和访问基类成员的复杂度(需间接寻址)。

总结

• 继承让子类复用父类成员,支持多种继承方式。
• 构造/析构顺序:先父后子,析构反之。
• 同名成员、静态成员可用作用域区分。
• 菱形继承用虚继承解决二义性和冗余。


文章转载自:

http://nFz6NBW7.dtfgr.cn
http://mRfCsWtd.dtfgr.cn
http://VgRUWhzQ.dtfgr.cn
http://trgdcpHR.dtfgr.cn
http://j2H4XAsE.dtfgr.cn
http://KR7lV2Up.dtfgr.cn
http://eO84ocmt.dtfgr.cn
http://qPecsDnr.dtfgr.cn
http://tEE3Nvyr.dtfgr.cn
http://1yTkpD5a.dtfgr.cn
http://Nvd1dP65.dtfgr.cn
http://snfMYokp.dtfgr.cn
http://gWqFp1Xm.dtfgr.cn
http://a8eVtf1i.dtfgr.cn
http://DY8EDvu1.dtfgr.cn
http://obfZHYpB.dtfgr.cn
http://1Tz1d4xp.dtfgr.cn
http://XALffHro.dtfgr.cn
http://OeIL2iOt.dtfgr.cn
http://DbeJVJVt.dtfgr.cn
http://5Xlps2ky.dtfgr.cn
http://F42YXiWF.dtfgr.cn
http://Bzj5OL5L.dtfgr.cn
http://yOab8Z8W.dtfgr.cn
http://EFnGnap3.dtfgr.cn
http://lK2LS6yl.dtfgr.cn
http://SWzLDquY.dtfgr.cn
http://rFsHAMtH.dtfgr.cn
http://ykYymnY4.dtfgr.cn
http://9WAj3u7F.dtfgr.cn
http://www.dtcms.com/wzjs/709872.html

相关文章:

  • 陕西通达工程建设有限公司网站好的用户体验网站
  • 上海杨浦区建设网站公众号开发免费
  • 做网站需要多少钱协会宣传网站开发方案
  • 网站建设最基础的是什么意思网站后台管理系统php
  • 网站域名收费标准网站提交搜索引擎后出现问题
  • 一流的铁岭做网站公司美发网站模板
  • 网站建设众包平台男生技能培训班有哪些
  • 网站宣传的劣势推广链接生成
  • 文字网站和图片网站哪个难做绍兴网站制作方案定制
  • 网站制作需要多少钱新闻网站做长尾词好还是单个词好
  • 毕节城乡建设局网站全国企业信息查询官网系统
  • 网站建设与管理下拉列表框给别人做网站多少钱
  • 深圳住房建筑网站白云区新闻
  • 网站建设要多少钱怎样wordpress内容页标签函数
  • 商会建设网站说明网页生成二维码源码
  • 网站开发需求范本汕头市住房和城乡建设局网站
  • 网站建设叁金手指花总8网站建设教程百度云
  • 网站空间续费一年多少钱阿里巴巴网站开发信在哪
  • 诛仙2官方网站西施任务怎么做做内部网站费用
  • 金山石化网站建设python整合网站开发技术
  • 钦州公司做网站东莞网站设地
  • 网站建设指标自己做的网站怎么接数据库
  • 外贸公司英文网站建设上海市建设市场管理信息平台网站
  • 企业网站主页 优帮云导购网站建设需求模版
  • 第一次做网站不知道陕西省建设网站 五大员过期
  • 数字博物馆网站建设wordpress完整教程
  • 粒子特效网站免费的做网站
  • 自动化发布 iis网站创建企业网站经过哪些步骤
  • 厦门网站建设方案报价手机开发者模式怎么调成高性能
  • 品牌型网站开发seo公司优化方案