Не стоит передергивать. protected конструктор все также недоступен внешнему коду.
Вызвать же базовый инстанс в этом случае не получится, т.к. базовый должен иметь фабричный метод.
Да, действительно это не совсем классический синглетон, но отличия минимальны. Гораздо меньше, нежели между синглетоном Майерса и синглетоном с подсчетом ссылок
Я так понимал, что вы собирались их объявлять в хедере. ..
Вообще говоря, если это какой-то библиотечный класс, то лучше использовать d-указатель и в Private-класс вбить все приватные функции
Теперь про сишные функции. Область видимости сиподобных функций - это всё протсрантство имен. И если функция нигде больше не потребуется, то лучше запихнуть в класс.
Трам парарам.
Смотрим сигналы базовго класса (qt-project.org/doc/qt-5/qabstractitemmodel.html)
Видим dataChanged, вы его должны были его использовать при переопределении setData, вот и высылайте со старым значением
Ничего удевительного в этом нет, free всего лишь сообщает, что блок памяти больше не используется и его может захватить любой другой аллокатор. Обнуление, если оно требуется должен производить сам программист. Это так сказать базовая основа С\С++
Не, дальше я делаю так:
var type = typeof(StandartReaction.TryParseDelegate);
StandartReaction.TryParseDelegate tryparseMethod;
try{
tryparseMethod = (StandartReaction.TryParseDelegate)Delegate.CreateDelegate(type, mi1);
}
catch(Exception e){
throw new Exception("StandartReaction.tryParseField в заданном типе отсутствует метод TryParse");
}
tryparseMethod(box.Text, out res)
@jcmv@
>DancingOnWater что подсказать-то? Заголовочные файлы (интерфейс) никак не связаны с либами (возможными реализациями) и использовать их вообще не обязательно.
Забейте, я понял, то что я предполагал, будь он реализовал сильно усложнила бы жизнь всем.
>@DancingOnWater прочитайте текст, где я определил хоть один макрос?
Вы его раздефайнили. Но не суть.
Если у нас есть протип и отдельно реализация, то переопределить реализацию как я понял мы не сможем.
Ой блин, вы собрались макрос переопределять в каждый раз?
Если в директиве include указали, что включен заголовок библиотеки, то линковать он будет с библиотечным кодом, поэтому хедер с прототипом функции должен принадлежать проекту и включаться с помощью ".