[ROOT] Order of base classes important....?

From: Benjamin E. Norman (bnorman@kent.edu)
Date: Wed Nov 08 2000 - 21:33:08 MET


Hi,
	First, the new Root User's Guide looks quite nice.  It gives good
explanation regarding a lot of points I wasn't clear on.
	Secondly, a (stupid?) c++/root question:

	I wrote a class (KHistogramGroup) which inherits from TNamed and
another class I wrote, KAttStyle (very simple, doesn't inherit from
anything).  If I declare my class with 

	class KHistogramGroup: public TNamed, public KAttStyle{ ... }

all is well in the world.  But if I use instead

	class KHistogramGroup: public KAttStyle, public TNamed{ ... }

I get the following when I try to read out a saved KHistogramGroup from
a TFile:

	root [1] KHistogramGroup* Km = (KHistogramGroup*)file.Get("hg");
	*** Break *** segmentation violation
	Root > Function test() busy flag cleared
	root [2] .q
	Fatal in <operator delete>: storage area overwritten

The solution, of course, is to do it the first way.  I just wonder why
the second way causes problems...

Thanks,
Ben Norman



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:37 MET