Создано 5 объектов, поэтому будет выведено 5 "пока".
Однако только 2 объекта выходят из области видимости и разрушаются до вашего вызоваsystem("pause")
(2 объекта, созданные foo()
).Остальные 3 объекта выходят из области видимости и разрушаются после вызова system("pause")
.Таким образом, у вас может не быть возможности увидеть эти 3 «пока», если окно консоли закрывается при выходе из приложения.
Вы можете заставить эти 3 объекта выйти из области видимости быстрее, введя другой более короткий срокобласть, в которой они могут жить, например:
int main(){
{
A a,b,c;
foo(a);
}
system("pause");
return 0;
}
Или вот так:
void doIt(){
A a,b,c;
foo(a);
}
int main(){
doIt();
system("pause");
return 0;
}
Теперь все 5 объектов выйдут из области видимости и будут уничтожены до звонок на system("pause")
.