Я хотел бы сделать что-то вроде следующего:Делегирование Конструкторы с In-члены класса инициализации
class DelegatingCTorPlusInClass
{
public:
DelegatingCTorPlusInClass()
:
DelegatingCTorPlusInClass(m_a, m_b) // m_a and m_b are "random"
{
};
DelegatingCTorPlusInClass(int a)
:
DelegatingCTorPlusInClass(a, m_b) // m_b is "random"
{
};
DelegatingCTorPlusInClass(const std::string &b)
:
DelegatingCTorPlusInClass(m_a, b) // m_a is "random"
{
};
DelegatingCTorPlusInClass(int a, const std::string &b)
:
m_a(a),
m_b(b)
{
// DO THINGS
};
private:
int m_a = 42;
std::string m_b = "42";
};
Однако члены перешли из одного конструктора к другому еще не инициализирован так, в основном «случайным». Как я мог достичь чего-то подобного?
Я думаю, что вопрос в том, почему вы хотите передать членов в первую очередь? Если вы не инициализируете элемент явно, он будет инициализирован значением из инициализатора в классе. – jrok
Что вы хотите, чтобы значения были, если они не указаны в аргументах конструктора? Передайте эти значения по умолчанию, а не неинициализированные члены, в делегированный конструктор. –
@jrok: Мне нужно вызвать полностью квалифицированный конструктор из всех остальных. – Korchkidu