Язык С++ и программирование на нем. Рейзлин В.И. - 86 стр.

UptoLike

Составители: 

88
strcpy ( str, s );
cout <<“Создается ” << str <<‘\n’; num_obj ++ ;
}
~ object ( ){ cout <<Уничтожается ” <<str <<\n‘;
delete str;
num_obj – –;
}
};
int object::num_obj = 0; // Инициализация. Об этом говорит
// ключевое слово int!
object s1 (“первый глобальный объект.”,
s2 (“второй глобальный объект.”);
void f ( char *str ) {
object s ( str );
cout <<“Всего объектов – ” << object::num_object<<.\n“;
cout <<“Проработала функция f()” <<“.\n;}
void main ( ) {
cout <<“Пока объектов – “ <<object::num_obj << “.\n;
object m (“объект в main ( ).”);
cout <<“А сейчас объектов – ” << m.num_obj <<“.\n;
f (“локальный объект.”);
f (“другой локальный объект.”);
cout <<“Перед окончанием main () объектов
<<s1.num_obj<<“.\n“;
}
Результаты работы программы:
Создается первый глобальный объект.
Создается второй глобальный объект.
Пока объектов – 2.
Создается объект в main ( ).
А сейчас объектов – 3.
Создается локальный объект.
Всего объектов – 4.
Проработала функция f().
Уничтожается локальный объект.
Создается другой локальный объект.
Всего объектов – 4.