我们如何将参数化构造函数初始化为字符串的默认构造函数?

How can we initialize a parametrized constructor as default for a string?

对于整数,我们可以这样做

class A{
  int a;
public:
  A(int x = 0){ a = x; }
};

很难准确理解您的问题。我 认为 你问的是如何为 std::string 参数指定默认值。如果是这样的话,你可以这样做:

class A{
  string a;
public:
  A(string x = ""){ a = x; }
};

或:

class A{
  string a;
public:
  A(const string &x = string()){ a = x; }
};

不过,在任何一种情况下,您都应该使用构造函数的 成员初始化列表 而不是构造函数的主体来初始化 a 成员:

class A{
  string a;
public:
  A(string x = "") : a(x) { }
};

class A{
  string a;
public:
  A(const string &x = string()) : a(x) { }
};