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

[0] Índice de Mensajes

Ir a la versión completa