localObj
уничтожается, когда заканчивается main
(потому что это его область действия), что происходит после system("pause")
.Вы нажимаете клавишу, деструктор запускается, но сразу же окно закрывается, поэтому вы его не видите.
Чтобы увидеть текст деструктора, вы должны запустить программу из командной строки или использоватьПункт «Запустить программу без отладки» из меню «Выполнить» (IIRC меню VS) (горячая клавиша для этого - Ctrl + F5 - спасибо @Cody Grey).Это добавляет «Нажмите любую клавишу для продолжения» после завершения исполняемого файла, так что вы сможете увидеть текст, написанный деструктором.
Еще один способ увидеть запуск деструктора - заключить переменную вменьший объем, который вы можете легко сделать так:
// ...
int main() {
{ // the braces create a new scope...
Tester localObj(3);
cout<<"Inside the Tester scope..."<<endl;
} // ... that ends here
cout << "... outside the Tester scope!";
cout<<"Press Enter to exit...";
cin.ignore();
return 0;
}
Кстати, system("pause")
уродлив и непереносим;вам следует избегать этого.