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

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

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

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

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

2

Решение

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

8

Другие решения


По вопросам рекламы [email protected]