Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Поглиблене вивчення окремого розділу: стандартні класи С + +

Реферат Поглиблене вивчення окремого розділу: стандартні класи С + +





fy"> УПРАВЛІННЯ ДОСТУП ДО КЛАСУ


Для обмеження рівня доступу до даних і функцій-членів класу в С + + існують три ключових слова private: (приватний), protected: (захищений), public: (загальнодоступний), що задають рівні доступу в класі . Кожен розділ у класі починається з одного з наведених слів. Якщо ні одне з ключових слів не використовувалося, то всі оголошення в класі вважаються приватними. Розділи з різними привілеями доступу можуть з'являтися в будь-якому порядку і в будь-якій кількості. Розглянемо прімер.Example {x1;// приватні за умолчаніюf1 ();

protected: x2;// защіщенниеf2 ();: x3;// знову частниеf3 ();:

int x4;// загальнодоступні

inf f4 ();

};

Приватні члени класу

Приватні члени класу мають найбільш обмежений доступ. До приватних членам класу мають доступ тільки функції-члени даного класу або класи та функції оголошені як дружні (friend) до даного класу, наприклад:

class TPrivateClass {value; GetValue ();

};

TPrivateClass :: GetValue () {value;// доступ дозволено

} main () {cl;// створення об'ектаi = cl.value;// помилка! Немає доступу = cl.GetValue () ;//помилка! Немає доступу

}

Захищені члени класу

Члени та функції оголошені в захищеному (protected) розділі класу доступні тільки для функцій похідних класів. Зазвичай в цьому виникає необхідність тоді, коли розробляється клас є базовим класом для інших класів. У цьому випадку він обмежує доступ до даних зовнішнім користувачам і дозволяє доступ для класів спадкоємців. Розглянемо приклад ієрархії об'єктів:

class A {

protected:

int val;

};

class B: public A {//успадковується від A:

void fb ();

};

void B :: fb () {val = 0;}// доступ дозволено

C: public B {//успадковується від B: fc ();

}; C :: fc () {val = 10;}// доступ дозволено

У даному прикладі наведена ієрархія класів A-> B-> C. Властивість захищеності поширюється вниз по ієрархії до тих пір поки похідний клас оголошує свій базовий загальнодоступним (public). При цьому будь-які функції-члени у класах C і B мають доступ до члена даних val базового класу. Якщо функція-член похідного класу в якості вхідного параметра має покажчик або посилання на об'єкт базового класу, то правила стають іншими. Модифікуємо клас C таким чином: C: public B {: fc (A &);// Вхідний параметр посилання на базовий клас

}; C :: fc (A & a) {= 10;// доступ разрешен.val = 10;// помилка! порушення прав д...


Назад | сторінка 6 з 11 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Клас птахи, загальна характеристика класу
  • Реферат на тему: Несанкціонований доступ до даних
  • Реферат на тему: Створення базового класу &Рядок&, рядки ідентифікатора і десяткової рядка. ...
  • Реферат на тему: Організація пам'яті СП. Доступ до пам'яті. Блоки пам'яті
  • Реферат на тему: Загальна власність (вільний доступ)