C++: могу ли я выполнить некоторую обработку перед вызовом другого конструктора?

У меня есть класс с двумя конструкторами.

class Foo {
  Foo(B b) {... }

  Foo(int n) : Foo(buildBFromInt(n)) {} ??
}

Первый берет некоторый объект, и я хотел бы иметь второй, который сначала создает объект из более простого типа. Это возможно?

1 ответ

Решение

Это возможно начиная с C++11. это делегирующий конструктор, и вы используете правильный синтаксис.

Другие вопросы по тегам