Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Класи алгоритмів

Контейнер – це зручне місце для зберігання послідовності елементів. Всі стандартні контейнери включають методи керування самими контейнерами та їх елементами. Оскільки більшість цих методів однакові для всіх послідовностей, набір узагальнених алгоритмів здатний полегшити програмісту створення власних методів для кожного нового контейнеру. Стандартна бібліотека включає приблизно 60 стандартних алгоритмів (сортування, пошуку та інші). Вони визначені у файлі <algorithm> у просторі іменstd.

Лекція 13

Спеціальні класи та функції

Статичні дані-члени

До тепер рахувалось, що дані в кожному об’єкті є власністю саме цього об’єкту та не використовуються іншими об’єктами цього класу. Та іноді приходиться слідкувати за накопиченням даних. Наприклад, необхідно з’ясувати скільки об’єктів даного класу було створено на даний момент та скільки з них існує. Статичні змінні-члени досяжні для всіх екземплярів класу. Це є компроміс між глобальними даними, які досяжні всім елементам програми, та даними, що досяжні тільки об’єктам даного класу.

Статична змінні створюється в одному екземплярі для всіх об’єктів даного класу. Розглянемо приклад. Об’єкт класу Catвключає статичну змінну-член HowManyCats (скільки котів). Ця змінна нараховує кількість об’єктів класу Cat, що створені під час виконання програми. Для цього статична змінна HowManyCats збільшується на 1 при кожному виклику конструктора класу Cat , а при виклику деструктора зменшується на 1.

class Cat

{

public:

Cat (int age) : itsAge(age) { HowManyCats++;} // конструктор

virtual ~Cat( ) { HowManyCats--;} // деструктор

static int HowManyCats;

 

private:

int itsAge;

};

 

int Cat : : HowManyCats = 0;

int main( )

{

const int MaxCats = 5; int I;

Cat *CatHouse[MaxCats]; // виклик конструктора

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

CatHouse[i] = new Cat(i);

return 0;

}

Статичні змінні необхідно обов’язково ініціалізувати. Якщо необхідно обмежити доступ до статичних змінних, то оголошуйте їх закритими або захищеними.




Переглядів: 542

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.003 сек.