Форум программистов, компьютерный форум CyberForum.ru

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

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

Показать сообщение отдельно
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16935 / 5340 / 328
Регистрация: 30.03.2009
Сообщений: 14,348
Записей в блоге: 26
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 НЕ является шаблоном
 
Текущее время: 14:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru