RE: [ROOT] TObject inheritance and assignment operator

From: John Pretz (pretz@umdgrb.umd.edu)
Date: Tue Apr 06 2004 - 00:33:27 MEST


Philippe,

Thanks for the reply.  There are one or two sentences in there that make 
me think that you didn't catch the problem.  Let me clarify:
 
> This a known hard limititation of CINT.  Currently the behavior
> of interpreted classes inheriting from compiled classes is incorrect
> in many ways (hence the warning that you can sometime see).
I _am_ using compiled classes exclusively.  I have seen that warning 
about limitations from inheriting from precompiled classes and want to 
avoid it.  What I want to do is use my precompiled classes from the 
interpreter.  If I define the assignment operator, it can pick it up.  The 
problem comes when I leave gcc to make the assignment operator (by just 
not declaring one).  And this only seems to fail when I'm inheriting from 
TObject.  If I inherit from my own base class its fine.
 
> Namely CINT does not know how to modify the virtual table to 
> take in account the interpreted part.  Hence as far as any
> compiled code is concerned, your object is limited to the compiled
> part.  It is likely that the 'default assignment operator' will not
> work. (I suppose it could but ...)
Again, it is all compiled except the macro that uses the classes.  I don't 
think the virtual table must be touched after the library is loaded.

I'm fine if this limitation still exists, I just wanted to make sure the 
problem was understood.

Thanks,

John

-- 
---------------Visit my webpage!---------------------
---------http://umdgrb.umd.edu/pretz-----------------



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:07 MET