Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Время жизни переменных



Если программист не указал иного, то объект создается, когда встречается его описание, и уничтожается, когда его имя выходит из области видимости, Объекты с глобальными именами создаются и инициализируются один раз (только) и "живут" до завершения программы. Объекты, определенные описанием с ключевым словом static, ведут себя так же.

Пример:

#include <iostream.h>

int a = 1;

void fun()

{

int b = 1; // инициализируется при каждом вызове fun()

static int c = 1; // инициализируется только один раз

cout << " a = " << a++;

cout << " b = " << b++;

cout << " c = " << c++ << "\n";

}

main()

{

while (a < 4) fun();

}
вывод будет следующим:

a = 1 b = 1 c = 1

a = 2 b = 1 c = 2

a = 3 b = 1 c = 3


Не инициализированная явно статическая (static) переменная неявно инициализируется нулем.


Лекция 8.

С помощью операций new и delete программист может также создавать объекты, время жизни которых управляются им непосредственно.

Задание для самоконтроля:

Что будет выведено на экран в результате работы следующей программы?

#include <iostream.h>

double di(double x)

{

static double co=0;

static double sum=0;

++co;

sum+=x;

return sum/co;

}

main()

{

cout<<"\n";

cout<<"di="<<di(1);

cout<<"\n";

cout<<"di="<<di(2);

cout<<"\n";

cout<<"di="<<di(4);

cout<<"\n";

cout<<"di="<<di(10);

cout<<"\n";

cout<<"di="<<di(11);

}






Дата публикования: 2014-12-08; Прочитано: 217 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...