(4)c++ 之初始化列表
1. 成员变量在使用初始化列表初始化时,成员变量的初始化顺序 与 声明顺序有关;
2. 如果不使用初始化列表初始化,在构造函数内初始化时,此时与成员变量在构造函数中的位置有关。
#include <stdio.h> #include <iostream> using namespace std; class A { private: int b; int a;
/*
如果是 int a; int b;
结果为0,3
*/
public: A(): a(0), b(a+3){}
void print() { cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; } }; int main() { A t; t.print(); return 0; }
结果:
a=0
b=32769
#include <stdio.h> #include <iostream> using namespace std; class A { private: int b; int a; public: // A(): a(0), b(a+3){} A() { b = a+3; a = 0;
/*
如果是 a = 0;
b = a+3; 结果为0,3
*/ } void print() { cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; } };
结果:
a=0
b=32769
做一个优秀的程序媛