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

做淘宝链接的网站vue 网站开发

做淘宝链接的网站,vue 网站开发,unsplash素材网站,网页制作怎么做第二页文章目录 一、继承 组合 模式的类对象 构造函数和析构函数调用规则1、场景说明2、调用规则 二、完整代码示例分析1、代码分析2、代码示例 一、继承 组合 模式的类对象 构造函数和析构函数调用规则 1、场景说明 如果一个类 既 继承了 基类 ,又 在类中 维护了一个 其它类型 的…

文章目录

  • 一、继承 + 组合 模式的类对象 构造函数和析构函数调用规则
    • 1、场景说明
    • 2、调用规则
  • 二、完整代码示例分析
    • 1、代码分析
    • 2、代码示例





一、继承 + 组合 模式的类对象 构造函数和析构函数调用规则




1、场景说明


如果一个类

  • 继承了 基类 ,
  • 在类中 维护了一个 其它类型 的 成员变量 ,

那么 该类 的 构造 与 析构 , 就需要涉及到

  • 类 本身 的 构造函数 和 析构函数 ,
  • 父类 的 构造函数 和 析构函数 ,
  • 类 成员变量 的 构造函数 和 析构函数 ;

2、调用规则


在 继承 + 组合 的情况下 , 构造函数 与 析构函数 调用规则如下 :

  • 构造函数 : 父类 -> 成员 -> 自身 ;
    • 首先 , 调用 父类 构造函数 ;
    • 然后 , 调用 成员 构造函数 ; 也就是 成员变量 类型的 构造函数 ;
    • 最后 , 调用 自己 构造函数 ; 自身定义的 构造函数 ;
  • 析构函数 : 自身 -> 成员 -> 父类 ;
    • 首先 , 调用 自己 析构函数 ; 自身定义的 析构函数 ;
    • 然后 , 调用 成员 析构函数 ; 也就是 成员变量 类型的 析构函数 ;
    • 最后 , 调用 父类 析构函数 ;




二、完整代码示例分析




1、代码分析


在下面的代码中 ,

继承关系 : C 类 继承了 B 类 class C : public B , B 类 继承了 A 类 class B : public A ;

组合关系 : D 类 是一个普通类 , 在 C 类中维护了一个 D 类成员变量 ;

class C : public B {
public:C(int a, int b, int c) : B(a, b){this->z = c;cout << "C 构造函数调用" << endl;}~C(){cout << "C 析构函数调用" << endl;}
public:int z;D d;
};

可根据下面的调用规则 , 分析出 C 类对象中 , 涉及到的 父类构造/析构函数 , 自身构造/析构函数 , 成员变量 构造/析构函数 的调用顺序 ;

  • 构造函数调用顺序 : 父类 -> 成员 -> 自身 ;
  • 析构函数调用顺序 : 自身 -> 成员 -> 父类 ;

2、代码示例


代码示例 :

#include "iostream"
using namespace std;class A {
public:A(int a){this->x = a;cout << "A 构造函数调用" << endl;}~A(){cout << "A 析构函数调用" << endl;}
public:int x;
};class B : public A {
public:B(int a, int b) : A(a){this->y = b;cout << "B 构造函数调用" << endl;}~B(){cout << "B 析构函数调用" << endl;}
public:int y;
};class D
{
public:D(){cout << "D 构造函数调用" << endl;}~D(){cout << "D 析构函数调用" << endl;}
};class C : public B {
public:C(int a, int b, int c) : B(a, b){this->z = c;cout << "C 构造函数调用" << endl;}~C(){cout << "C 析构函数调用" << endl;}
public:int z;D d;
};int main() {C obj(1, 2, 3);cout << "obj.x = " << obj.x <<" , obj.y = " << obj.y <<" , obj.z = " << obj.z << endl;// 控制台暂停 , 按任意键继续向后执行system("pause");return 0;
}

执行结果 : 下面的代码中 , 分析构造函数调用顺序 ;

  • A 和 B 的构造函数 , 是 父类构造函数 ;
  • D 构造函数 , 是 成员构造函数 ;
  • C 构造函数 , 是 自身构造函数 ;

构造函数的调用顺序为 : 父类 -> 成员 -> 自身 , 符合上述的调用原则 ;

然后分析 析构函数 调用顺序 ;

  • C 析构函数 , 是 自身构造函数 ;
  • D 析构函数 , 是 成员构造函数 ;
  • A 和 B 的析构函数 , 是 父类构造函数 ;

析构函数的调用顺序为 : 自身 -> 成员 -> 父类 , 符合上述的调用原则 ;

A 构造函数调用
B 构造函数调用
D 构造函数调用
C 构造函数调用
obj.x = 1 , obj.y = 2 , obj.z = 3
Press any key to continue . . .
C 析构函数调用
D 析构函数调用
B 析构函数调用
A 析构函数调用

在这里插入图片描述

http://www.yayakq.cn/news/597690/

相关文章:

  • 搜狐做网站企业建站找哪个公司
  • 建设银行网站查询密码林业厅网站建设招标
  • 汽配信息门户网站模板游戏推荐网站怎么做
  • 企业网站的一般要素包括wordpress头像官网
  • 上海网站建设过程谷歌字体插件WordPress
  • 个人备案做电影网站吉林关键词优化的方法
  • 网站开发 毕业答辩ppt网站首页置顶是怎么做
  • 好看网电影网站模板免费下载微信网站二次开发
  • 衡水做网站优化做美容仪器的网站
  • 响应式网站和自适应网站区别怎么做百度快照让网站排前面
  • 东莞旅游网站建设35互联做的网站
  • 佛山专业网站营销建设一个网站需要多久多少钱
  • 做奢侈品代工厂的网站海外打开网站慢
  • 织梦网站怎么搬家网站开发需要用哪些东西
  • 东莞市做阀门的网站sem是什么意思中文
  • 阿里云做的网站怎么样wordpress用户登入界面
  • 个人淘客网站备案介绍网络营销的短文
  • dede模板网站教程软件企业网站模板
  • 高端定制网站鞍山做网站企业
  • 桂林北站附近有什么好玩的简述网络营销的八大职能
  • 网站结构怎么分析用阿里云建设网站
  • 有哪些公司的网站做的很好看电信备案新增网站
  • 河南建筑公司网站北京正规网站建设公司
  • 图案设计网站有哪些wordpress为图片添加圆角
  • 国家建设部官方网站赵宏彦wordpress会员密码有效期
  • 上海金山网站设计公司wordpress获取当前网址
  • 简单网站建设流程网站建设中源码
  • 个人网站建设方案书范文军事人才招聘网官网2023岗位表
  • 网站建设公司新如何在网站上做淘宝客推广
  • 郑州网站建设 服务创业建设银行网银登录入口