zoukankan      html  css  js  c++  java
  • 关于C++构造函数初始化顺序

    这里主要是说序列初始化成员变量时,存在这样的规则:

    1. 先进行序列初始化,再进行构造函数函数体内的赋值等操作。

    2. 序列初始化,不是简单的自左至右或自右至左,而是根据成员变量的定义顺序来初始化。

    测试代码:

     1 #include <iostream>
     2 #include <algorithm>
     3 
     4 using namespace std;
     5 
     6 class lv
     7 {
     8 public:
     9     lv(int g):g1(g++),g2(g++)
    10     {
    11         g3 = g++;
    12         cout << g1 <<endl;
    13         cout << g2 <<endl;
    14         cout << g3 <<endl;
    15     }
    16     ~lv()
    17     {
    18         cout << "bye" << endl;
    19     }
    20     int g3;
    21     int g2;
    22     int g1;
    23 };
    24 
    25 int main()
    26 {
    27     lv h(99);
    28     
    29     return 0; 
    30 }

    结果截图:

  • 相关阅读:
    守护线程
    接口中的方法重写
    jvm内存结构
    浅拷贝,深拷贝
    队列
    12月4号荒度了一天
    同步条件
    条件变量
    信号量Semaphore
    sql练习
  • 原文地址:https://www.cnblogs.com/jiu0821/p/6186018.html
Copyright © 2011-2022 走看看