1. Поменяйте название process на count и сразу поймете зачем. Это преобразование, в конечном счете, не сделает код более медленным или громоздким, а вот избежать ошибок и ввести лишнюю ясность поможет.
2. Я тоже предпочел бы сделать так, хоть и считаю это менее правильным. Дилемма :)
Тогда уж вот так:
((Container*)(const_cast<MyContainer*>(this)))->count()
А вообще, убивая вот так просто слово const, Вы нарушаете гарантию, данную этим словом, что «ни один из членов класса не претерпит каких-либо изменений».
Кстати, очень интересует «критический склад ума» и опыты, которые доказывали эту самую «перестройку мозга». Есть у кого ссылочки на материал по этой теме? Или может кто тут такую статейку накатает? :)
2. Я тоже предпочел бы сделать так, хоть и считаю это менее правильным. Дилемма :)
((Container*)(const_cast<MyContainer*>(this)))->count()
А вообще, убивая вот так просто слово const, Вы нарушаете гарантию, данную этим словом, что «ни один из членов класса не претерпит каких-либо изменений».
// Библиотека
class Container
{
public:
unsigned count (); // не const
};
// MyModule.cpp
class MyContainer: protected Container
{
public:
unsigned count() const
{
return Container::count();
}
// Ну и еще что нужно, соответственно, открываем
};
Кстати, очень интересует «критический склад ума» и опыты, которые доказывали эту самую «перестройку мозга». Есть у кого ссылочки на материал по этой теме? Или может кто тут такую статейку накатает? :)
(рип с ОРТ)
Ваше мнение изменится уже во время просмотра.