Programación General > C++ Builder
Pasar Objetos Como Parémetros
(1/1)
el_shanky:
Me surgió la necesidad en un programa que stoy haciendo... de pasar una variable tipo AnsiString a las funciones miembro de mi clase para operar con esta; es x esto que utlizé a los AnsiStrings como si fueran un tipo de dato mas (int, char, bool...) como usualmente al momento de pasar los parámetros a las funciones... pero veo que x ser las funciones miembro de una clase x lo visto no es así de facil...
mi código es este:
--- Código: Text --- //--------------------------------------------------------------------------- #include <vcl.h>#include <iomanip.h>#include <iostream.h>#include <conio.h>#pragma hdrstop //---------------------------------------------------------------------------class Datos{ public: AnsiString suma(AnsiString x, AnsiString y); };// end class//---------------------------------------------------------------------------int Datos::suma(AnsiString x, AnsiString y){return x+y; }//end fun #pragma argsusedint main(int argc, char* argv[]){ AnsiString x="hola";AnsiString y="chau"; Datos *D; AnsiString S=D->suma(x,y); cout << S.c_str(); getch(); }//---------------------------------------------------------------------------
Pero me salta error en la compilación señalandome el prototipo de la funcion miembro alegando:
[C++ Error] Unit1.cpp(18): E2316 'Datos::suma(AnsiString,AnsiString)' is not a member of 'Datos'
=> Es posible pasar objetos como varibles? como sería la forma correcta de hacerlo? O solo me resta tener que invocarlas en donde se encuentren?
Gracias!
el_shanky:
NOOOOOOO... que pelotudo... era un error mio! mi funcion miembro devolvia un int mientras que en mi clase un AnsiString x eso no me andaba... Ya sta arreglado!
En definitiva si se puede pasar obetos a funciones miembros.
Disculpas! :brickwall: :losiento:
Navegación
Ir a la versión completa