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

Статические переменные-члены и статические функции-члены



До этого момента предполагалось, что все данные находящиеся в классе должны принадлежать объектам класса, причём какое-либо данное должно было принадлежать конкретному объекту класса. Но иногда возникает необходимость в получении информации о накоплении данных программой. (например о количестве объектов класса). Эту задачу решают статистические переменные-члены. Эти переменные используются всеми объектами класса, то есть можно сказать, что они принадлежат классу, а не объекту класса. Их можно рассматривать как нечто среднее между глобальными переменными и переменными-членами.


#include<iostream.h>

Class Cat

{

public:

Cat(int age):itsAge(age){HayMenyCats++;}

virtual ~Cat(){HayMenyCats--;}

virtual int GetAge() {return itsAge;}

virtual void SetAge(int age){itsAge=age;}

Static int HayMenyCats;

private:

Int itsAge;

};

int Cat::HayMenyCats =0;

Int main(void)

{

const int MaxCat=5;

Int i;

Cat *CatHouse[MaxCat];

for(i=0;i<MaxCat;i++)

CatHouse[i]=new Cat(Maxcat-i);

for(i=0;i<MaxCat;i++)

{

cout<<"сейчас у нас ";

cout<<Cat::HayMenyCats;

cout<<" кота.\n";

cout<<"удалим кота, возраст которого ";

cout<<CatHouse[i]->GetAge()<<" года \n";

delete CatHouse[i];

CatHouse[i]=0;

}

Return 0;

}

у нас живёт 4 кота.

Удалим кота, возраст которого 4 года

у нас живёт 3 кота.





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



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