zoukankan      html  css  js  c++  java
  • 构造和析构的次序

    构造和析构的次序

    构造从类层次的最根处开始,在每一层中,首先调用基类的构造函数,然后调用成 员对象的构造函数。析构则严格按照与构造相反的次序执行,该次序是唯一的,否则编 译器将无法自动执行析构过程。

    一个有趣的现象是,成员对象初始化的次序完全不受它们在初始化表中次序的影响 , 只由成员对象在类中声明的次序决定。

    这是因为类的声明是唯一的,而类的构造函数可 以有多个,因此会有多个不同次序的初始化表。如果成员对象按照初始化表的次序进行 构造,这将导致析构函数无法得到唯一的逆序。

     1 #include <iostream>
     2 
     3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
     4 using namespace std;
     5 int main(int argc, char** argv) {
     6      //自定义类型 
     7     typedef  int  ARRAY_INT[50];
     8     int i;
     9     ARRAY_INT a;    //用自定义类型声明数组变量a 
    10 
    11     //以下为数组a赋值,并打印  
    12     for (i=0;i<50;i++) {
    13        if (i%10==0)       //每10个数换一次行 
    14          cout<<endl;
    15        a[i]=i;
    16        cout<<a[i]<<"	";
    17      }
    18     cout<<endl;
    19     return 0;
    20 }
  • 相关阅读:
    尾递归
    博客搬家 --- CSDN
    sublime text 插件集锦
    chrome 常用插件集锦
    IntelliJ Idea 2017 免费激活方法
    Mac下Java JNI 调C
    webgl学习笔记五-纹理
    webgl学习笔记四-动画
    webgl学习笔记三-平移旋转缩放
    webgl学习笔记二-绘图多点
  • 原文地址:https://www.cnblogs.com/borter/p/9406551.html
Copyright © 2011-2022 走看看