LINUX.ORG.RU

Вопрос по QThread, а именно по её функции run


0

0

В базовом классе QThread егойная функция run объявлена в секции protected как чистая виртуальная, и тут-же в примере у наследованного класса она чЮдесным образом перемещается в public. А так вообще по стандарту делать можно? Чегой-то я не вспомню.

Вы пока высказывайтесь, а я погуглю продолжительно.

ну раз пишут знач можно) компилятор одобряет) да и какая разница, для такого примера эт неважно, это ж просто показать принцип работы.

s0L
()
Ответ на: комментарий от s0L

Ну дык, я-же, кагбе, промышленное приложение мастырить буду, желательно убедиться, что побочные эффекты не вылезут. А такую конструкцию я раньше не видел просто.

one_more_hokum ★★★
() автор топика
Ответ на: комментарий от one_more_hokum

Да модификатор доступа\видимости никакого участия в сигнатуре функции принимает. Проблемы будут в случае виртуального вызова этой функции у родителя, и то если б она определена была.

placement_new ★★
()
Ответ на: комментарий от placement_new

Т. е., из protected в public выносить можно. А private -> public? А без virtual? А де серьёзно почитать про это можно (желательно на русском)?

one_more_hokum ★★★
() автор топика
Ответ на: комментарий от one_more_hokum

Да можно, модификатор к самим функциям никакого отношения не имеет.

placement_new ★★
()
Ответ на: комментарий от one_more_hokum

при переопределении виртуальных функций можно менять их область видимости. Если функция не виртуальная, то ты ничего не переопределяешь, соотв. ставь область видимости какую тебе надо.

google => c++ overloading overriding hiding, первая ссылка

alex_custov ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.