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

};


 

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

78633. Стратегическое планирование на предприятии 29.5 KB
  Стратегия представляет собой систему управленческих решений определяющих перспективные направления развития организации сферы форм и способы ее деятельности в условиях окружающей среды и порядок распределения ресурсов для достижения поставленных целей. По содержанию стратегия это модель действий инструмент для достижения целей организации. Главной задачей разработки стратегии является достижение конкурентных преимуществ и рентабельности организации. В общем виде стратегии могут быть классифицированы следующим образом: корпоративные...
78634. Структура кадров предприятия и пути ее совершенствования 54.5 KB
  В организации состоящей из многих частей должна осуществляться определенным образом координация их деятельности. Данная координация выступает основой структуры организации которую обычно определяют как совокупность устойчивых связей в организации. Связи между частями организации осуществляются через каналы коммуникации. Виды связей соответствуют видам тех отношений между частями организации которые объединяют части в единое целое.
78635. Цена и ценообразование в рыночной экономике 137 KB
  Сейчас необходимо перейти к вопросу о том как действует механизм спроса и предложения на конкурентном рынке любого товара и каким образом рыночная цена устанавливается на таком уровне когда спрос и предложение равны. меньше уровень спроса при данном уровне доходов; и наоборот чем ниже цена тем больше будет число покупателей и количество приобретаемого товара. Изобразим эту зависимость между ценой и величиной спроса графически. Если на абсциссе обозначить количество товара Q покупаемого на рынке а на ординате движение цены Р то...
78636. Менеджмент: сущность, виды и методы 36.5 KB
  Менеджмент – область управленческой и хозяйственной деятельности обеспечивающей рациональное управление экономическими процессами организации систем управления и его совершенствования в соответствии задачам социальноэкономического развития. Менеджер – это специалист которого нанимают для организации и управления какимто участком для осуществления управленческой деятельности. Методы управления – способы формы воздействия руководителя на подчиненных: 1. Интеграционный Интеграционный подход к менеджменту нацелен на исследование и усиление...
78637. Планирование и прогнозирование в условиях рыночной экономики 34.5 KB
  Ее обеспечивает государственное регулирование подразумевающее систему взаимодействия государства со всей совокупностью хозяйствующих субъектов с целью координации усилий направленных на решение общенациональных задач социальноэкономического развития. Индикативный план развития национальной экономики определяет и содержит обоснование целей задач направлений и методов реализации государственной социальноэкономической политики. Именно индикативный план выступает той связующей вертикалью которая обеспечивает координацию деятельности...
78638. Ценовая политика предприятия 35.5 KB
  Предлагается учитывать следующие факторы формирующие рыночные цены: Факторы спроса определяющие цену спроса на товар которую предлагает покупатель: Платежеспособный спрос который может выделить покупатель на данный товар; Уровень сбережений которые покупатель делает чтобы не покупать товар; Объем спроса – количество товара которое покупатель способен приобрести при некотором уровне цены; Потребительские свойства товара его качественные характеристики; Полезность товара – способность его удовлетворить потребности потребителя или...
78639. Проблемы развития предпринимательства в России 29 KB
  Одним из ключевых нововведений установленных в Федеральном законе является принципиально новый подход к критериям выделения субъектов малого и среднего предпринимательства. Согласно нормам Федерального закона к субъектам малого предпринимательства относятся внесенные в единый государственный реестр...
78640. Жизненный цикл товара, его экономический смысл 24.5 KB
  Иcxoдными днными для пpинятия peшeний пpи pзpбoткe или кoppeктиpoвкe пpoдyктoвoй пoлитики являeтcя нлиз жизнeннoгo цикл тoвp н pынкe кoтopый пpeдcтвляeт coбoй мoдeль pынoчнoй peкции oтpжeннoй в пpмeтpx вpeмeни и cтoимocтныx пoкзтeляx. Зня зкoнoмepнocти pзвития жизнeннoгo цикл oтдeльныx гpyпп видoв тoвpoв и пpoгнoзы длитeльнocти oтдeльныx eгo фз пpeдпpиятиe мoжeт oпpeдeлить мoмeнт нчл НИОКР зпycк в пpoизвoдcтвo и внeдpeния н pынoк нoвыx издeлий и мoдepнизции cyщecтвyющиx вpeмя yxoд c дннoгo pынк ycтpeвшиx нe пoльзyющиxcя cпpocoм...