|
|||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
ДОСТУП ДО ВІРТУАЛЬНИХ МЕТОДІВ ЧЕРЕЗ ВКАЗІВНИКИ__________________________________
Лістинг 21.2. Програма VIRT //Доступ до віртуальних функцій через вказівники #include <iostream> using namespace std; ///////////////////////////////////////////// Class Base //Базовий клас { Public: Virtual void show () //віртуальна функція { cout << “ Base \n”; } }; ///////////////////////////////////////// Class Derv1: public Base //похідний клас 1 { Public: Void show () //звичайна функція { cout << “ Derv1 \n”; } }; ///////////////////////////////////////// Class Derv2: public Base //похідний клас 2 { Public: Void show () //звичайна функція { cout << “ Derv2 \n”; } }; /////////////////////////////////////////// Int main() { Derv1 dv1; //об’єкт похдіного класу 1 Derv2 dv2; //об’єкт похдіного класу 2 Base* ptr; //вказівник на базовий клас ptr = &dv1; // адрес dv1 занести у вказівник ptr -> show() //виконати show() ptr = &dv2; // адрес dv2 занести у вказівник ptr -> show() //виконати show() return 0; } Результат: Derv1 Derv2,
Мал. 21.2. Доступ через вказівник до віртуальних функцій
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |