I try to define a derived class that I would like to use in another derived class, but defining the first one after the second... It works when not bothering with inheritence:
But as soon as they inherit from a base class, I can't seem to find the good declaration syntax:Code:class class1; //Declaration class class2 { private: class1 *ptr; ...... }; class class1 {...}; //Definition
I know that my code sample might really seem useless... But I just wanted to keep it simple there... I need to have a "class1" pointer in "class2", and I want to be able to use its "base" methods. I know I can't use the other "class2" methods since the class is defined after, but its base methods should be accessible, isn't it?? I'm using VS 2003... Is there a solution for defining the "class1" with its "public base" specifier?Code:class base { public: base() {} ~base() {} virtual void uselessFunction() = 0; //Just to make it a base class :) }; class class1 : public base; //Declaration... doesn't work :( class class2 : public base { private: class1 *ptr; public: void uselessFunction() {} }; class class1 : public base { public: void uselessFunction() {} };
Thanks!



LinkBack URL
About LinkBacks



