
13 Jan
2005
13 Jan
'05
3:53 p.m.
Jonathan Wakely wrote:
On Thu, Jan 13, 2005 at 12:49:33PM +1000, kalin wrote:
Hi All, I've made a simple implementation of making a class non-derivable.
I can't compile this with GCC3 or Comeau. GCC2 lets me compile it (due to its flakey friend implementation) but it also allows Bar to inherit from Foo!
This is a simpler way of preventing inheritance:
class Finaliser { protected: Finaliser(){} };
class Final : private virtual Finaliser { // rest of class as normal };
How about: class Finaliser { friend class Final; Finaliser(){} }; class Final : private virtual Finaliser { }; ? Tom