Как мы можем инициализировать параметризованный конструктор по умолчанию для строки?

Для целого числа мы можем сделать это как

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

1 ответ

Решение

Трудно понять, что именно вы спрашиваете. Я думаю, что вы спрашиваете, как указать значение по умолчанию для 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) { }
};
Другие вопросы по тегам