| 12:27 am |
Допустим задача : Есть иерархия элементов управления (GUI Controls), для каждого элемента есть соответствующий класс его состояния, все состояния тоже выстроены в иерархию, control вмещает в себе состояние, то есть состояние - член элемента управления. Вопрос: как такое реализовывать? Можно так: class State { public: bool Visible; };
class ButtonState:public State { //... } class Control { State* st; }
class Button: public Control { Button(){st = new ButtonState();} }
* This source code was highlighted with Source Code Highlighter.
Но так мы теряем информацию о типе состояния, что бы обратится к каким-то специфическим состояниям кнопки, приходится даункастить. Что я предлагаю (решение на С++): template<typename StateType> class Control { StateType st; }
class Button: public Control<ButtonState> { }
* This source code was highlighted with Source Code Highlighter.
Информация о типе сохранена, ура! |
| 2:59 pm |
Ищу книгу
Помогите найти книгу Д.Грис "Наука программирования" М.МИР 1984г. Может кто видел где-нибудь. |
| 8:18 pm |
STL in VS 6.0
How can I see STL container in VC 6.0 during debuging?Please help! |