声明时初始化(就地初始化)
初始化列表
构造函数初始化
三种初始化方式同时存在的话,最后的值为构造函数初始化的值
#include "iostream"
class A{
public:
int value = 1;
A():value(2){value=3;}
A(int value):value(value){}
};
int main(){
A a;
// 3
std::cout << "a.value=" << a.value << std::endl;
A a1{2};
// 2
std::cout << "a1.value=" << a1.value << std::endl;
return 0;
}