Hi Sean, Could you send your file Rb_zbs_DataClass.hxx/cxx ? Is this class an abstract class ? Are you defining all the pure functions from this class in the derived class? Rene Brun Sean Walston wrote: > > I get the following error message: > > root [0] .x foo.C > Error: abstract class object 'Foo Bar' declared FILE:foo.C LINE:9 > *** Interpreter error recovered *** > > Line 9 of foo.C is: > > Foo Bar( infile, outfile ); > > The code is all below: foo.C loads in the macro and trys (and fails) to > create an object called Bar which is of type Foo. Foo.cxx and Foo.hxx > define an empty class in that it has no member functions other than the > constructor and destructor and simply inherits from the well established > and highly tested Rb_zbs_DataClass. The g++ compiler has no trouble > compiling this code. > > My question is, what is the meaning of the above error message? It seems > reasonable to declare an object of a type with no member functions. > > Thank you for your help -- Sean > > __________________________________________________________________________ > foo.C ==================================================================== > > void > foo() > { > gROOT->LoadMacro( "Foo.cxx" ) ; // Same as ".L Foo.cxx" > > const char* infile = "fubar.root"; > const char* outfile = "snafu.root"; > > Foo Bar( infile, outfile ); > } > > __________________________________________________________________________ > Foo.cxx ================================================================== > > #include "Foo.hxx" > > #ifdef __CINT__ > #include "Rb_zbs_DataClass.cxx" > #endif > > #if !defined(__CINT__) || defined(__MAKECINT__) > #include <TCanvas.h> > #include <TH1.h> > #include <TFile.h> > #include <TNtuple.h> > #include <TProfile.h> > #endif > > #include <iostream> > #include <fstream> > > Foo::Foo( const char* infile, const char* outfile ) // Object Constructor > : Rb_zbs_DataClass( infile, outfile ) > {} > > Foo::~Foo() // Object Destructor > {} > > // Local variables: > // compile-command: "g++ `root-config --cflags` -Wall -c Foo.cxx" > // End: > > __________________________________________________________________________ > Foo.hxx ================================================================== > > #ifndef FOO > #define FOO > > #include "Rb_zbs_DataClass.hxx" > > #if !defined(__CINT__) || defined(__MAKECINT__) > #include <Htypes.h> > #endif > > class TH1F; > class TCanvas; > class TPad; > > class Foo > : public Rb_zbs_DataClass > { > public: > > Foo( const char* infile, const char* outfile ); > virtual ~Foo(); > > > }; > > #endif // FOO > > __________________________________________________________________________ > > Sean Walston > -------------------------------------------------------------------------- > Willamette Hall, Office 317 SLD, Central Lab Annex, Office B-153 > Department of Physics Stanford Linear Accelerator Center, MS-94 > University of Oregon P.O. Box 4349 > Eugene, OR 97403 Stanford, CA 94309 > walston@ampere.uoregon.edu walston@SLAC.stanford.edu > Office: 541-346-4847 Office: 650-926-8768 > Home: 541-686-9969 Mobile: 541-912-5456 > __________________________________________________________________________
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:31 MET