Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лекция ооп 23

.docx
Скачиваний:
3
Добавлен:
12.07.2022
Размер:
12.75 Кб
Скачать

Лекция 23.05.2022

Class B

{

Char name[];

Public:

Void: put_name();

Void show_name();

}

Class D, public: B

{ char phone_name[];

Public:

Void put_phone();

Void show_phone();

Int main

B *p;

B B_ob;

D *dp;

D D_ob;

P = &B_ob;

P →put_name(_);

P→ &D_ob;

P→put_name(_);

Можно обратиться и к базовому и к производному

Class B

{ public:

Virtual void who(); virtual void who() = 0;

{cout << “B”;}

}

Class F1: public B

{ void who()

{Cout<<”F1”;}

}

Class F2:public B;

{ void who();

{cout <”F2”;}

Int main

B *p;

B B_ob;

F1 f1;

F2 f2;

P = &B_ob;

P →&f1;

P→who();

P→ &f2;

P→who();

}

Динамическое определение того, из какого экземпляра класса будет вызвана функция – полиморфизм

Class B

{ public:

Virtual void whо();

{cout << “B”;}

}

Class F1: public B

{ void who()

{Cout<<”F1”;}

}

Class F2:public B;

{ void who();

{cout <”F2”;}

Void show_who (B &r)

{

r.who();

}

Int main()

{

B b;

F1 f1;

F2 f2;

Show_who(b);

Show_who(f1);

Show_who(f2);

}

Class B

{ public:

Virtual void whо() = 0;

Virtual void A() = 0;

Virtual void B() = 0;

};