46231

Указатели на функции, имитация таблиц виртуальных функций с помощью процедурного подхода

Доклад

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

Возможны только две операции с функциями: вызов и взятие адреса. Указатель, полученный с помощью последней операции, можно впоследствии использовать для вызова функции.

Русский

2013-11-20

14.47 KB

0 чел.

16.Указатели на функции, имитация таблиц виртуальных функций с помощью процедурного подхода.

Указатель на функцию

Возможны только две операции сфункциями: вызов и взятие адреса.

Указатель, полученный с помощью последней операции, можно впоследствии использовать для вызова функции.

voiderror(char* p) { /* ... */ }

// указатель на функцию

void (*efct)(char*);

void f() {

efct = &error;

 // efctнастроен на функцию error

 // вызов error через указатель efct

(*efct)("error");

}

Реализация таблицы виртуальных функций

Ниже приводится пример имитации ОО стиля. Он демонстрирует те затраты, от которых удалось избавиться, перейдя на объектно-ориентированные языки. Подобный прием наверняка использовался многими программистами еще до наступления эры ООП с целью создания более гибкой конструкции программы.

// Структура таблицы виртуальных функций базового

// класса. Содержит указатели на функции,

// переопределяемые в производных классах.

struct shape_vtbl {

 // ввод данных из стандартного потока

void (*In)(shape *_this);

 // вывод данных в стандартный поток

void (*Out)(shape *_this);

 // вычисление площади фигуры

double (*Area)(shape *_this);

 // удаление обобщенной фигуры

void (*Destroy)(shape *_this);

};


 

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

47956. Сучасні технології в рекламі та ПР-діяльності 955 KB
  Несвоєчасне подання інформації заперечення факту знищення фінансових документів клієнтів і через кілька днів його визнання наполегливі спроби заперечувати свою провину коли ФБР не тільки вже зібрало всі докази але частина з них оприлюднило завдали такого удару по репутації nderson що від нього почали йти клієнти. Ними можуть бути представники виконавчої та законодавчої влади аналітики ринку інвестори й акціонери засоби масової інформації споживачі продукції. Процеси обміну тобто купівлі та продажу товарів характеризуються...
47957. Словотвір як учення про творення слів і загальні принципи їх мотивації 337.5 KB
  Творення відведення це розділ мовознавства який вивчає слова за способами і засобами їх творення та словотвірною структурою. Словотворення зароджується одночасно зі словами базується на них і є засобом їх формування. Розділ мовознавчої науки який вивчає процес творення слів його механізм правила способи моделі словотвірну структуру слова і словотвірну систему мови називається словотвором. Зв'язок словотворення із синтаксисом виявляється в тому що: 1 синтаксична одиниця словосполучення становить для деривації...
47958. ІСТОРІЯ УКРАЇНИ 96.5 KB
  Вступ до курсу Історія України Історія України як наука та навчальна дисципліна Історія України як галузь історичної науки і як навчальна дисципліна. Періодизація історії України. Міжпредметний зв'язок у вивченні історії України.
47960. ТЕОРІЯ ДЕРЖАВИ І ПРАВА 966.5 KB
  Предмет теорії держави і права. Методологія теорії держави і права. Функції теорії держави і права.
47961. Технічна естетика. Предмет, завдання та зміст курсу 308.5 KB
  Розвиток станків форми машин завжди був пов’язаний із стилевим напрямком архітектури відповідно епохи. Зручність і краса форми – важливі критерії композиції різного обладнання та предметів побуту призначених для забезпечення матеріальних та побутових благ і потреб людини. Яка вивчає закономірності утворення форми принципи і методи художнього конструювання направлені на створення оптимальної форми виробів. До головних якісних характеристик архітектоніки належать такі ознаки: q рівень вдосконаленості внутрішнього змісту об’єкта; q ...
47962. Масообмінні процеси 1.96 MB
  Використання таких технологічних методів як повторний стиск пари дозволяє значно зекономити енергію. Трьохкорпусний випарний апарат з прямотечійним рухом пари і розчину 1 Явище перенесення тепла в рідинах газах або сипких середовищах потоками самої речовинине важливо вимушено чи мимоволі. В кожному корпусі кількість утвореної пари менша від кількості сконденсованої пари внаслідок збільшення прихованої теплоти пароутворення при зниженні тиску і температури. Труднощі пов'язані із транспортуванням в'язких розчинів можна вирішити шляхом...
47963. Оздоровча фізична культура 602 KB
  Стан та перспективи розвитку фізкультурнооздоровчої діяльності в Україні Здоров'я населення його фізична підготовленість є предметом уваги Верховної Ради та уряду України. Головними недоліками її функціонування є: недостатній обсяг рухової активності низька якість навчального процесу в навчальновиховній сфері; руйнація управління фізкультурнооздоровчою роботою з населенням яке раніше здійснювалося через систему взаємодії органів житловокомунального господарства та органів управління фізичною культурою в соціальнопобутовій сфері;...
47964. Організації. Об’єктивні причини виникнення та існування організацій 445.5 KB
  Метр польської і світової соціології Ян Щепанський у своїй праці Елементарні поняття соціології 1970 починає розгляд існуючих дефініцій організації з метафори. Спробуємо від метафори перейти до більш точного визначення змісту поняття соціальної організації. Соціологізувати визначення змісту поняття організації спробував Я. Щепанський ілюструє прикладами з організації життя групи студентів.