C++: могу ли я выполнить некоторую обработку перед вызовом другого конструктора?
У меня есть класс с двумя конструкторами.
class Foo {
Foo(B b) {... }
Foo(int n) : Foo(buildBFromInt(n)) {} ??
}
Первый берет некоторый объект, и я хотел бы иметь второй, который сначала создает объект из более простого типа. Это возможно?
1 ответ
Решение
Это возможно начиная с C++11. это делегирующий конструктор, и вы используете правильный синтаксис.