04 классы 2
.pdf04 – 11
Create::~Create()
{
cout << ”Объект ” << num << ” деструктор”;
cout << endl;
}
04 – 12
//Демонстрация последовательности
//вызова конструктора и деструктора
//для объектов в зависимости от их
//класса памяти
void func(); //прототип функции Create a1(1); //глобальный объект
04 – 13
int main()
{
cout << ” (глобальный до main)”;
cout << endl;
Сreate a2(2);
cout << ” (локальный автоматический в main)”;
cout << endl;
04 – 14
static Сreate a3(3);
cout << ” (локальный статический в main)”;
cout << endl;
func();
Сreate a4(4);
cout << ” (локальный автоматический в main)”;
cout << endl;
04 – 15
return 0;
}
// Функция создания объектов void func()
{
Сreate a5(5);
cout << ” (локальный автоматический в func)”;
cout << endl;
04 – 16
static Сreate a6(6);
cout << ” (локальный статический в func)”;
cout << endl;
Сreate a7(7);
cout << ” (локальный автоматический в func)”;
cout << endl;
}
04 – 17
Объект 1 конструктор (глобальный до main)
Объект 2 конструктор (локальный автоматический в main)
Объект 3 конструктор (локальный статический в main) Объект 5 конструктор (локальный автоматический в func) Объект 6 конструктор (локальный статический в func) Объект 7 конструктор (локальный автоматический в func) Объект 7 деструктор Объект 5 деструктор
Объект 4 конструктор (локальный автоматический в main)
04 – 18
Объект 4 деструктор Объект 2 деструктор Объект 6 деструктор Объект 3 деструктор Объект 1 деструктор