Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Если программист не указал иного, то объект создается, когда встречается его описание, и уничтожается, когда его имя выходит из области видимости, Объекты с глобальными именами создаются и инициализируются один раз (только) и "живут" до завершения программы. Объекты, определенные описанием с ключевым словом 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!