CD
Size: a a a
CD
CD
m🇲
ip
Д
ip
m🇲
CD
CD
ip
CD
CD
Д
CD
AS
CD
ПК
std::shared_ptr<Shape> f(int x) {
if (x == 0) return std::make_shared<Triangle>();
if (x == 1) return std::make_shared<Square>();
if (x == 2) return std::make_shared<Rectangle>();
return nullptr;
}
ПК
ip
auto triangle = foo(Shape::Triangle);
явно лучше для меня, чем auto triangle = foo(7);
// что за 7 ? что это значит
Особенно если я уверен, что енам не будет расширятьсяCD
auto triangle = foo(Shape::Triangle);
явно лучше для меня, чем auto triangle = foo(7);
// что за 7 ? что это значит
Особенно если я уверен, что енам не будет расширяться