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

Откатываемый (undoable) класс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ComboBox + Button http://www.cyberforum.ru/cpp/thread105058.html
На форме имеется ComboBOx с 7 пунктами и две кнопки "Да" и "Нет" При последовательном ответе на все 7 вопросв кнопкой "Да" должно появится сообщение обезьяна съела банан,а если хотябы раз был ответ "нет" то все начинается по новой!
C++ Хуки мыши Такая проблема, пытаюсь написать хук для мыши, вроде событие отлавливается, библиотека отлично подключается, но функция которая должна возвращать указатель на структуру MOUSEHOOKSTRUCT, возвращает структуру вверх ногами, координаты мыши почему-то лежат в параметрах wHitTestCode и dwExtraInfo, а в x,y лежит int значение, похожее на указатель, код dll выглядит так //mhook.h #include... http://www.cyberforum.ru/cpp/thread104861.html
GUI-программирование. Какая библиотека лучше? C++
Здравствуйте! Я знаю "консольный" C++, теперь хочется освоить какую-нибудь библиотеку или технологию визуального программирования. Подскажите, кто знает, что лучше выбрать и что сейчас востребовано? Всем благодарен!
C++ Нужен совет с Canvas
Доброго времени суток, Нужен совет, через чего сделать следующее Дано: картинка с нарисованными объектами разной формы Необходимо: при нажатии на какой либо объект его выделить на самой картинке.. Неужели придется описывать большую часть пикселев? или можно задать как-то по-другому?
C++ Mac OS Timers http://www.cyberforum.ru/cpp/thread103781.html
Доброго времени суток. Есть ли какие-то средства(чистый С) для работы с таймерами под Мак(аналоги timer_create или SetTimer, возможно, мультимедийные таймеры)? Или все же придется писать свой?..
C++ Ring0 Кто-нибудь задавался вопросом работы с уровнем доступа ядра. Я так понял в windows есть 3 режима обработки приложений! и Ring0 имеет самые высокие привилегии. Если кто-то имеет опыт в этой области, просьба поделиться им.. подробнее

Показать сообщение отдельно
volovzi
267 / 169 / 8
Регистрация: 14.03.2010
Сообщений: 501
18.03.2010, 13:22  [ТС]     Откатываемый (undoable) класс
Nick Alte, что-то пока не получается реализовать. Ты не мог бы схематично расписать одну из функций класса Undoable?
В моём способе Undoable наследуется от класса T, поэтому он может работать с переменными этого класса. А как работать с классом, когда ты не знаешь, что в нём лежит?

Добавлено через 31 минуту
А, я понял, там нужно приведение типов делать. Но всё равно суть остаётся та же: откатываемый класс находится на дне иерархии. А вот можно ли как-нибудь его наверх вытащить?

Добавлено через 15 часов 21 минуту
Так-с, с паттерном, вроде, разобрался. Спасибо за наводку.
Но по-прежнему не могу создать копию объекта внутри класса Undoable.

Вот такая конструкция в классе Undoable
C++
1
2
3
void save () {
    T * newVersion = new T(*static_cast<T *>(this));
}
выдаёт ошибку:

/Developer/SDKs/MacOSX10.5.sdk/usr/include/c++/4.0.0/debug/safe_iterator.h:127:
error: attempt to copy-construct an iterator from a singular iterator.

Objects involved in the operation:
iterator "this" @ 0x0x1001cc {
type = N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPP7myClassN10__gnu_norm6vectorIS4_SaIS4_EEEEEN15__gnu_debug_def6vectorIS4_S8_EEEE (mutable iterator);
state = singular;
}
iterator "other" @ 0x0xbffff724 {
type = N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPP7myClassN10__gnu_norm6vectorIS4_SaIS4_EEEEEN15__gnu_debug_def6vectorIS4_S8_EEEE (mutable iterator);
state = singular;
}


Как решить проблему?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru