Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Class X

Омск 2007 | Задания к лабораторной работе 1 | Class Boolean | Boolean dequeue::relocate(). | Задания к лабораторной работе 2 | НАСЛЕДОВАНИЕ | ПОЛИМОРФИЗМ. ПЕРЕГРУЗКА ОПЕРАЦИЙ И ФУНКЦИЙ | Задания к лабораторной работе 4 | ДРУЖЕСТВЕННЫЕ ФУНКЦИИ | Задания к лабораторной работе 5 |


Читайте также:
  1. Antonyms. Definition. Morphological and semantic classifications of antonyms.
  2. BARCLASS.CPP
  3. Class Boolean
  4. Class SampleClass
  5. class Spisok
  6. Class Teach: public Student
  7. Class work.

{

protected:

int i;

int j;

public:

void get_f(void);

void put_f(void);

};

class Y: public X // i, j класса Х стали protected членами в классе Y

{ int m;

public:

int get_m(void);

void make_m(void);

};

class Z: public Y // Z имеет доступ к переменным i, j класса Х

{ public: // Z не имеет доступа к m класса Y

void d(void);

};

 

void X:: get_f(void)

{ cout << "Введите два числа:" << "\n";

cin>>i>>j;}

 

void X::put_f(void)

{ cout << "i=" << i << "j=" << j << "\n";}

int Y::get_m(void)

{ return m;}

void Y::make_m(void)

{ m = i*j; }

void Z::d(void)

{ i = 5; j = 4;}

void main()

{

Y a;

Z b;

a.get_f();

a.put_f();

a.make_m();

cout << a.get_m() << "\n";

b.d();

b.put_f();

b.make_m();

cout << b.get_m() << "\n";

}

Если мы заменим режим доступа при наследовании класса Х на private, то функция void Z::d(void) не будет иметь право доступа к переменным i, j.

Если же мы заменим режим доступа при наследовании класса Z на private, не изменяя режим доступа при наследовании класса Х, то действие примера по сравнению с начальным не изменится.

Базовые классы создаются в том порядке, в котором они перечислены в списке базовых классов при объявлении производного класса Z.

Использование конструкторов при наследовании имеет свои особенности. Пока конструкторы базового классов не имеют аргументов, то производный класс может не иметь функцию-конструктор. Если же конструктор базового класса имеет один или несколько аргументов, каждый производный класс обязан иметь конструктор. Чтобы передать аргументы в базовый класс, нужно оп­ределить их после объявления конструктора базового класса.

В задании на программирование требуется определить классы и построить для них иерархию, а также продемонстрировать использование введенных конструкции при работе.


Дата добавления: 2015-07-25; просмотров: 53 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Class Teach: public Student| Задания к лабораторной работе 3

mybiblioteka.su - 2015-2024 год. (0.005 сек.)