<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Am 24.08.2013 um 09:46 schrieb Constantin Makshin <<a href="mailto:cmakshin@gmail.com">cmakshin@gmail.com</a>>:</div><div><br></div><blockquote type="cite"><div><p>Overriding a public method to make it private doesn't make much sense because this restriction can be easily circumvented by casting the pointer/reference to a base class (explicitly or by passing it to a function, in the context of this thread, expects a QFile or even more generic QIODevice).</p></div></blockquote><div>Casting? Pointers? Why so complicated?</div><div><br></div><div>C++ makes this easy for you:</div><div><br></div><div>#define private public</div><div>#include "Foo.h"</div><div><br></div><div>There you go: all private members of class Foo have just become public! A hip hip horray for the preprocessor ;)</div><div><br></div><div>Oh, by the way: should you feel the urge to pass on this "tip" to someone else: please don't mention my name, will you? ;)</div><div><br></div><div><br></div><div>But on a more serious note: overriding a public method and make it private is more like a "design decision" and a strong hint to the caller not to call this member on that concrete class instance anymore: why not? Go read the docs! (And if you still feel like calling it: C++ offers you plenty of choices ;))</div><div><br></div><div>Cheers,</div><div>  Oliver</div><div><br></div><div><br></div></body></html>