以下核心部分工作正常:
class A {
public:
int a;
int b;
};
A obj{ 1,2 };
但是,如果要显式添加默认构造函数:A(){},则必须为括号括起来的初始化程序列表添加另一个,例如:
A(int a,int b):a(a),b(b) {}.
是否有一个较短的形式,例如:
A(const A& ab) { *this = ab } ???
上面的那个不起作用。
以下核心部分工作正常:
class A {
public:
int a;
int b;
};
A obj{ 1,2 };
但是,如果要显式添加默认构造函数:A(){},则必须为括号括起来的初始化程序列表添加另一个,例如:
A(int a,int b):a(a),b(b) {}.
是否有一个较短的形式,例如:
A(const A& ab) { *this = ab } ???
上面的那个不起作用。
A(int a,int b):a(a),b(b) {}.
是否有较短的表格
不。除了一些空格以外,此构造函数尽可能短。
,不幸的是。
创建默认构造函数时,您无法使用汇总初始化来初始化类。
要想重新获得使用该声明语法的能力,您必须创建一个采用所有必需参数的构造函数……并且没有比编写的方法更短的方法了。