Форум программистов, компьютерный форум, киберфорум
Наши страницы

Использование указателя на метод вместо виртуального метода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Компилятор http://www.cyberforum.ru/cpp/thread193991.html
Здравствуйте. Пишу компилятор pas->asm на с++ Может кто-то подскажет генератор конструкцый или что-то подобное: <переменная1>+<переменная2> mov...
C++ Дан файл F, содержащий координаты множества точек на плоскости. Переписать в файл G попарно точки, через которые проходят медианы этого множества. Помогите плз. Дан файл F, содержащий координаты множества точек на плоскости. Переписать в файл G попарно точки, через которые проходят медианы этого множества. Медианой множества, состоящего... http://www.cyberforum.ru/cpp/thread193967.html
C или C++(не холивар) C++
Здравствуйте. Участвую в различных олимпиадах по программированию, пишу обычно на C++, используя все его вкусности в виде STL, ООП, темплэйтов и проч. Накануне в двух задачах не уложился в...
x86 интерпретатор исходный код C++
кто-нибудь слышал про интерпретаторы x86? в инете нарыл только что в qemu, bochs есть встроенные интерпретаторы команд x86 процессора, но пока не докопался до них. Нужно самому написать такой...
C++ Крестики Нолики http://www.cyberforum.ru/cpp/thread193237.html
учу си месяц дали задачу... хелп ми плиз! Игра крестики нолики. Игра в крестики нолики вдется на квадратном поле 3*3. Играют двое. Начинают крестики. каждый из игроков, поочередно, ставит свой...
C++ Алгоритмы и программы по использованию указателей и динамических структур данных Здравствуйте! Помогите, пожалуйста, написать задачу. Вот текст:Дан указатель P0 на один из элементов непустого двусвязного списка. Вывести число N — количество элементов в списке, а также указатели... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
18910 / 6869 / 503
Регистрация: 30.03.2009
Сообщений: 19,338
Записей в блоге: 30
16.04.2011, 17:41  [ТС]
Цитата Сообщение от Deviaphan Посмотреть сообщение
В (почти строго) типизированном языке избавляться от типов лично мне кажется извращением.)
В "(почти строго) типизированном языке" НЕ избавляться от типов можно только путём раздувания кода (что мы и имеем на примере шаблонов Си++). И больше никак. Дополнительным побочным эффектом является то, что нет никакой возможности спрятать код.

Цитата Сообщение от Deviaphan Посмотреть сообщение
Собственно и для использования это проще
Поставлю более конкретную постановку задачи. Вот такой схематичный код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
void BlackBox (void *this, void (*method)(void))
{
  ...
}
 
class A
{
  ...
  void func1 (void);
  void func2 (void);
};
 
class B
{
  ...
  void func1 (void);
  void func2 (void);
};
 
...
A a;
B b;
 
// Нужно, чтобы в конечном итоге как бы вызвалось a.func1()
BlackBox (&a, &A::func1);
 
// Нужно, чтобы в конечном итоге как бы вызвалось a.func2()
BlackBox (&a, &A::func2);
 
// Нужно, чтобы в конечном итоге как бы вызвалось b.func1()
BlackBox (&b, &B::func1);
 
// Нужно, чтобы в конечном итоге как бы вызвалось b.func2()
BlackBox (&b, &B::func2);
...
Напиши внутренности "чёрного ящика", чтобы вызовы BlackBox соответствовали тому, что написано в комментариях перед вызовами. Особо подчёркаваю: BlackBox НЕ является шаблоном
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru