69723

Захищене наслідування

Лекция

Информатика, кибернетика и программирование

До базового класу можна застосовувати механізм захищеного наслідування. При цьому всі відкриті і захищені члени базового класу стають захищеними членами похідного класу. Розглянемо приклад.

Украинкский

2014-10-09

23.5 KB

0 чел.

Тема 1: Захищене наслідування

До базового класу можна застосовувати механізм захищеного наслідування. При цьому всі відкриті і захищені члени базового класу стають захищеними членами похідного класу. Розглянемо приклад.

#include <iostream>

using namespace std;

class base {

protected:

int i, j; // Закриті члени класу base

// доступні класу derived.

public:

void setij(int а, int b) { i=a; j=b; }

void showij() { cout « i « " " « j « "\n"; }

};

class derived : protected base {

int k;

public:

//Клас derived має доступ до членів i, j і setij()

// з класу base

void setk() { setijd(10, 12); до = i*j; }

// Звідси можна викликати функцію showij().

void showall() { cout << k « " "; showij(); }

};

int main() {

derived ob;

ob.setij (2, 3);

// Невірно, функція setij() є закритим членом класу derived.

ob.setk();

// Вірно, викликається відкритий член класу derived.

ob.showall();

// Вірно, викликається відкритий член класу derived.

//ob.showij () ; // Невірно, функція showij() є

// захищеним членом класу derived

return 0;

}

Як випливає з коментарів, не дивлячись на те що функції setij() і showij() є відкритими членами класу base, в класі derived, утвореному за допомогою захищеного наслідування, вони стають захищеними. Це означає, що функції main() вони не доступні.


 

А также другие работы, которые могут Вас заинтересовать

66581. Структуры службы маркетинга на ОАО «Брестский завод бытовой химии» 143.5 KB
  Прохождение стажировки без отрыва от производства на ОАО Брестский завод бытовой химии предполагало постановку и реализацию следующих целей: Изучение особенностей технологии производства продукции выпускаемой ОАО Брестский завод бытовой химии.
66582. Использование Matlab для проектирования fuzzy-регуляторов 130.05 KB
  Ход работы: Пусть необходимо спроектировать fuzzy регулятор для автоматического управления подвижной платформы массой М=200 кг на отрезке пути 100м если допустимая максимальная скорость движения платформы не может быть более 2м с. Привод подвижной платформы развивает усилие при торможении и разгоне не более 100Н.
66583. РОЗРОБКА ІНТЕЛЕКТУАЛЬНОЇ СИСТЕМИ КЕРУВАННЯ БЕЗПІЛОТНИМ ЛІТАЛЬНИМ АПАРАТОМ 1.94 MB
  Об'єктом досліджень є інтелектуальні системи керування рухом безпілотного літального апарату БПЛА які б надійно забезпечували користувача всією сукупністю навігаційної інформації при складних умовах руху літального апарату. Предметом досліджень є інтелектуальні системи керування рухом безпілотного літального...
66584. Социология. Методические указания 227 KB
  Методические указания составлены в соответствии с требованиями государственного образовательного стандарта по прохождению педагогической практики студентами пятого курса, включают в себя содержание и порядок прохождения педагогической практики, организационные положения...
66585. Процес усунення несправностей та помилок в роботі ТзОВ Торгової мережі «Барвінок» 343.02 KB
  Також причиною невисокого показника є виробництво вказаних видів птиці в приватному секторі для особистого споживання а не для продажу в роздрібній мережі. Після написання огляду можна приступати до аналізу ТЗ і розробки робочого проекту мережі.
66589. Анализ структуры персонала филиала ОАО «Иркутскэнерго» 145.5 KB
  Преддипломная практика является неотъемлемой частью учебного процесса. В ходе её прохождения происходит углубление и закрепление знаний и профессиональных навыков, полученных в процессе обучения. Она помогает преобразовать знания в умения.