anthonyfieroni added a comment.
Make a protected constructor Document::Document(DocumentPrivate &dd) : d(dd) {} In KateDocument extend DocumentPrivate with KateDocumentPrivate, override documentReload and give it to base Document KateDocument(...) : Document(*new KateDocumentPrivate) Then make documentReload public non-virtual in Document with implementation d->documentReload(...) => which will call KateDocumentPrivate override function REPOSITORY R39 KTextEditor REVISION DETAIL https://phabricator.kde.org/D5656 To: pedroarthurp, dfaure, brauch, dhaumann, cullmann Cc: anthonyfieroni, nalvarez, kwrite-devel, #frameworks