#include <iostream>
using namespace std;
class Example
{
int m_x;
string m_s;
public:
Example(int x): m_x{x}{}
Example(int x, string s): m_x{x}, m_s{s}{}
};
int main()
{
Example o {5, "fjdklfs"};
Example u = {5, "fjdklfs"};
return 0;
}
上面的代码编译正常。为什么我们可以构建具有统一初始化的“o”对象和具有初始化列表的“u”对象?我认为构造函数就像函数一样,使用“()”来调用它,不是吗?