This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: create an object with variable CLASS


printg == dosomthing
base == x
Base == module_management
On Tue, 2009-10-27 at 12:01 +0100, Axel Freyn wrote:
> On Wed, Oct 28, 2009 at 02:26:18AM +0330, Mohsen Pahlevanzadeh wrote:
> > On Tue, 2009-10-27 at 10:49 +0000, Andrew Haley wrote:
> > > Mohsen Pahlevanzadeh wrote:
> > > > i define an object from class base & call dosomthing & get gollowing
> > > > error:
> > > > request for member âdosomthingâ in âbaseâ, which is of non-class type
> > > > âBase*â
> > > 
> > > Please post the source.
> > > 
> > > Andrew.
> That's not the correct source - in your source, the function
> "dosomthing" is nowhere defined!
> Nevertheless: "base" is a pointer ("of non-class type 'Base*'"), so you
> have to use:
> "base->dosomthing()" and NOT "base.dosomthing()"
> Are you doing that?
> 
> Axel
> > ///////////////////////////////////////////////////////////////////////////////////////////
> > module_management* create_object(char * class_name){
> >         if (c_find(class_name) == NULL){
> > 	        if (strcmp (class_name,"mikrotik") == 0)
> >         	        return  new mikrotik;
> >         }
> >         
> > 
> > }
> > /////////////////////////////////////////////////////////////////////////////////////////////
> > class module_management{ ///This is base class
> >         public:
> >         //      list<modules> modules_list;
> >         //      list<modules>::iterator it;
> >                 module_management();
> >         //      char * classes[20][4];  
> >                 char *section,*ipaddr,*hostname,*username,*password;
> >                 virtual void printg() = 0; //THIS IS RECOMMENDED OF AXEL
> >                 //FILE *fptr;
> >                 bool config_file_processor( char *str);
> >                 bool set_classes( char * class_name);// set classes
> > array (append to classes array)
> >                 bool is_classes( char *class_name);//search classes
> > array for the class
> >                 module_management *create_object( char *class_name) ; //
> > Loading a module
> >                 bool delete_classes(char *class_name); //delete a class
> > from claases array for using in unload_module method
> >                 bool unload_module( char *class_name);//unloading the
> > module
> > 
> > };//end of module_management class
> > //////////////////////////////////////////////////////////////////////////////////////////////////
> > class mikrotik:public module_management{
> >         public:
> >                 void printg(){printf ("saaaaaaaaaalaaaaaaaaaaam");};
> > };
> > 
> > 
> > 
> > 
> > 
> > 
> > //////////////////////////////////////////////////////////////////////////////////////////////



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]