Статичні функції

При вивченні теми «Об’єкти і класи» (лекції 11-13) ми ввели поняття статичних даних класу (програма 11.8). Нагадаємо, що статичні дані не дублюються для кожного об’єкту, швидше, один елемент даних використовується всіма об’єктами класу. В тій же програмі був показаний клас, який запам’ятовував, скільки в нього було об’єктів. Спробуємо розвинути цю ідею, показавши, що функції, як і дані, теж можуть бути статичними. Крім демонстрації статичних функцій, наша програма створить клас, який дозволить присвоювати унікальний ідентифікаційний номер (ID) кожному зі своїх об’єктів. Це дозволяє запитати в об’єкта, хто він такий, що буває корисним при відлагодженні програми. Ще одна задача цього прикладу полягає в тому, щоб пролити світло на деструктори і роботу з ними.

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

#include<bios.h>

/////////////////

class gamma

{private:

static int total;

int id;

public:

gamma()

{total++;

id=total;

}

~gamma()

{total--;

cout<<”Видалення ID”<<id<<endl;

}

static void showtotal()

{cout<<”Всього:”<<total<<endl;

}

void showid()

{cout<<”ID:”<<id<<endl;

}

};

////////////////

int gamma::total=0;

//////////////////

 

int main()

{clrscr();

gamma g1;

gamma::showtotal();

gamma g2,g3;

gamma::showtotal();

g1.showid();

g2.showid();

g3.showid();

cout<<»------------endofprogram------\n»;

return 0;

}

Програма 22.14

 

 








Дата добавления: 2015-08-26; просмотров: 1045;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.