Объектно-ориентированное программирование



         

Объектно-ориентированное программирование - стр. 81


Эта переменная подставляется везде вместо цифры 1024. Кроме того, вводится конструктор, который размещает массив ptr, и деструктор, который его освобождает.

class C_Buffer{

 public

double *ptr;

 int dest,scr;

int len;

C_Buffer(int len=1024);

Cbuffer(){if ptr!=null) free(ptr);

void add(double a);

double get();

int used();

int free();

};

C_Buffer::C_Buffer(int _len){

len=_len;

dest=src=0;

ptr=(double*)malloc(len* sizeof(double));

if(ptr==null)len=0;

}

void C_Buffer::get(double &a){

if(++src:=len)return ptr[src-1];

src=0;

return ptr[len-1];

};

int C_Buffer::used(){

int n=dest-src;

if(n>=0)return n;

else return n+len;

};

int C_Buffer::free(){

int n=src-dest;

if(n>0) return n;

else return n+len;

};

2.5. Правила доступности членов класса

 

При описании класса можно определять доступность членов класса для “чужих” функций. Вообще, в ООП считается хорошим тоном задавать все данные и служебные методы описываемого класса для доступа “извне”.

Так, в примере кольцевым буфером логично закрыть для доступа массив и оба указателя, чтобы с ними можно было работать только через методы add и get. Описывая класс, нужно оставлять доступ только к тем членам класса, которые необходимы для конкретной работы с объектами; всю сколько-нибудь сложную работу должны брать на себя методы данного класса.

В С++ существует три служебных слова, определяющих доступ членов  класса. С первым из них вы уже знакомы, это PUBLIC. После этого слова двоеточие означает, что все нижеследующие члены класса будут считаться общедоступными, пока не встретиться другое описание доступности.

Другое слово PROTECTED- определяет, что члены класса доступны только дружественным функциям и классам, а также классам- наследникам данного класса.

Слово PRIVATE ограничивает круг “посвященных “ только дружественными функциями и классами.

Дружественные функции и классы - это функции и классы, упомянутые внутри описания класса с описателем FRIEND. Это слово ставиться самым первым в описании такой функции или класса.




Содержание  Назад  Вперед