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);

};


 

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

77942. КОНТРОЛЬ ДВИЖЕНИЯ ЖИДКОСТЕЙ И ГАЗОВ 18 KB
  В лазерных технологиях существенное значение имеют параметры потоков жидкостей и газов: равномерность движения рабочего тела газового лазера расход охлаждающей жидкости квантрона твердотельного лазера параметры струи защитного газа параметры струи продуктов распада и испарения материала из зоны обработки Стабилизация параметров потока путем стабилизации параметров устройств формирующих поток исчерпала свои возможности. Компенсацию влияния процесса на параметы потока можно организовать при помощи системы...
77943. Эффективность функционирования маркетинговой деятельности организации 109.5 KB
  Контроль маркетинговой деятельности. Маркетинговый контроль позволяет выявить положительные и отрицательные моменты в конкурентных возможностях организации и внести соответствующие коррективы в ее маркетинговые программы и планы предпринимательской деятельности. Контроль маркетинговой деятельности как правило предполагает: контроль за реализацией и анализ возможностей сбыта; контроль прибыльности и анализ маркетинговых затрат; стратегический контроль и ревизию маркетинга.
77944. Товар и его маркетинговая характеристика 67 KB
  Качество совокупность характеристик продукта которые отвечают на вопрос: Какой продукт произведен. Казалось бы вопрос о качестве продукта прост. Потребители могут не замечать очень важных характеристик продукта которые действительно в нем присутствуют и дополнять свой образ качества продукта такими характеристиками положительными или отрицательными которые в продукте отсутствуют но включаются в понятие качества продукта . Качество продукта в маркетинговом понимании это множество совокупностей характеристик составляющих...
77945. Современная концепция маркетинга 70.5 KB
  Сущность определение и роль маркетинга Термин маркетинг появился в экономической литературе в США на рубеже XIX и XX столетий и в буквальном смысле означает рыночную деятельность работу с рынком. Существует более двух тысяч определений маркетинга это: предпринимательская деятельность; система взглядов; реклама; система управления сбытовой деятельностью философия бизнеса и др. Следует отметить что среди специалистов нет общепринятого определения маркетинга.
77946. Маркетинговая среда организации. Матрица SWOT 136.5 KB
  Факторы маркетинговой среды организации Факторы Характеристика 1 2 Экономические изменение ВВП; инвестиционная активность; изменение ставок; конъюнктура рынка; структура доходов и расходов между группами населения; темпы инфляции; уровень безработицы; нормы налогообложения платежный баланс норма накопления величина номинальной и реальной заработной платы Демографические численность населения; рождаемость; возрастная структура; численность населения; расселение по регионам; квалификация трудовых ресурсов Научнотехнические новые...
77947. ТИПЫ РЫНКОВ И МАРКЕТИНГОВАЯ ДЕЯТЕЛЬНОСТЬ КОМПАНИИ 441 KB
  Стратегические и конъюнктурные приоритеты маркетинга Анализ рынка продукции. Комплексное исследование товарного рынка. Стратегические и конъюнктурные приоритеты маркетинга Стратегический маркетинг выполняет следующие функции: анализа рыночных возможностей; изучения конъюнктуры рынка; анализа возможностей конкурентов и их преимуществ; сегментации рынка и определения модели покупательского поведения; разработка прогноза спроса и предложения; определения стратегии маркетинга на рынке...
77948. Маркетинговые исследования и система маркетинговой информации 113.5 KB
  Система маркетинговой информации и методы ее сбора. Формулирование целей маркетинговых исследований Определение потенциальных источников информации Сбор информации и ее классификация Анализ собранных данных Формулирование результатов исследований Разработка рекомендаций руководству фирмы Рисунок. Информационное обеспечение систем маркетинга Комплекс средств и методов оформления маркетинговой документации организации хранения данных кодирования и поиска информации...
77949. Характеристика и основные элементы рынка 492 KB
  Характеристика и основные элементы рынка. Понятие рынка и емкости рынка. Наиболее простое определение рынка присущее любой модели рыночной экономики японской американской скандинавской и др. Однако это определение не выявляет глубинных свойств рынка как экономического феномена.
77950. Организация и управление маркетинговой деятельностью 154 KB
  Становится все труднее разрабатывать планы для каждого отдельного вида товара или рынка оценить эффективность различных рекламных мероприятий по каждому товару возникают проблемы с решениями о выходе на рынок с новыми товарами. Когда количество товаров и рынков превышает 7 9 на одного человека возникает реальная опасность того что некоторым товарам и рынкам не будет уделено достаточного внимания...