|
Программирование >> Программирование на языке c++
БАЗОВЫЙ КЛАСС Б
верхняя граница public Производный класс П publj компоцент риЫ1с; protected; KOMnoHeHT protectej верхняя Граница protected public, / KOMnoHCHT public; \ projected; \ ; KOMnoHeHT protected; ! private: KoMnoHCHTprivate; Производны!! класс П protected; компонент ри№ KoMnoHeHT protecte( верхняя гра- ница private privates , компонент риЬис; \ KOMHOHeHTprotected; Рис. 4.6. Изменения в производном рсласже атрибутов компонентов, наследуемых из базового класса, в зависимости от атрибута базового класса #include <iostream.h> class Bl { void f1 1() { cout Bl private\n ; } компонент private protected: void f1 2{) { cout Bl protected\n ; ) компонент protected public: void f1 3() { cout Bl public\n ; } компонент public class B2 { void f2 1() { cout 82 private\n ; } компонент private protected: void f2 2() { cout В2 protected\n ; } компонент protected public: void f2 3() { cout 82 public\n ; } компонент public class 83 { void f3 1() { cout 83 private\n ; } компонент private protected: void f3 2() { cout 83 protected\n ; } компонент protected public: void f3 3() { cout << B3 public\n ; } компонент public class D : public 81,protected 82,private 83 { void fd1{) { cout D private\n ; } компонент private protected: void fd2() { cout << D protected\n ; } компонент protected public: void fd3(); компонент public описание public компонента класса D Результат: D private Результат: D protected ошибка Результат: 81 protected Результат: 81 public ошибка Результат: 82 protected Результат: 82 public ошибка Результат: 83 protected Результат: 83 public
class DD : public D { public: void fdd(); компонент public void DD;:fdd() описание public компонента класса DD ошибка Результат: Bl protected Результат: Bl public ошибка Результат: В2 protected Результат: В2 public ошибка ошибка ошибка { ВЗ ЬЗ; объявление объекта ЬЗ класса ВЗ b3.f3 3(); Результат: ВЗ public В2 Ь2; объявление объекта Ь2 класса В2 b2.f2 3(); Результат: В2 public D d; объявление объекта d класса D d.f3 3(); ошибка d.f2 3{); ошибка DD dd; объявление объекта dd класса DD d.fd3(); вызов функции fd3() объекта d dd.fddO; вызов функции fdd() объекта dd Приведем основные правила использования атрибутов для ограничения доступа к компонентам классов: private компонент класса доступен только из компонентов-функций и friend функций того же класса; > protected компонент дополнительно к private доступен из компонентов-функций и friend функций производного класса; > public компонент доступен из любой функции; 172
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |