Я знаю, что мы можем сделать следующее с кучей объектов:
/* Heap objects */
Pet *pet;
if (...)
pet = new Pet("Dog");
else
pet = new Pet("Cat");
Но как нам это сделать, если мы хотим, чтобы объект Pet
был объявлен в стеке?
/* Stack objects */
Pet pet;
if (...)
-?-
else
-?-