- 1
- 2
- 3
- 4
- 5
- 6
#define DOISA(x,p,y) \
ClassID x::isA() const{return y;} \
MYBoolean x::isA(ClassID i) const \
{ \
return (i == x::isA() ? TRUE : p::isA(i)); \
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+153
#define DOISA(x,p,y) \
ClassID x::isA() const{return y;} \
MYBoolean x::isA(ClassID i) const \
{ \
return (i == x::isA() ? TRUE : p::isA(i)); \
}
Ядро большого проекта. Имеется довольно большая иерархия наследуемых классов с виртуальными методами isA(). Все эти методы зачем-то сворачиваются в этот макрос.
WebKill_HochetVBan 16.07.2010 17:15 # 0
И прятать классы в макросы - косчунство. Потом их соседи по проекту наверное долго искали... :D
WebKill_HochetVBan 16.07.2010 17:18 # 0
DarthBobr 16.07.2010 17:26 # 0
WebKill_HochetVBan 16.07.2010 17:32 # 0
Dummy00001 16.07.2010 17:55 # 0
> ClassID x::isA() const{return y;}
или поддерживается альтернативный граф "что есть что" - иначе бы return параметризировать не надо было.
WebKill_HochetVBan 16.07.2010 21:04 # 0
Dummy00001 16.07.2010 21:11 # +1
WebKill_HochetVBan 16.07.2010 21:22 # 0
inj 17.07.2010 00:36 # −3
guest6 06.02.2023 20:49 # 0
Desktop 06.02.2023 20:47 # 0