• Lunes 18 de Noviembre de 2024, 00:39

Autor Tema:  Pasar Objetos Como Parémetros  (Leído 1009 veces)

el_shanky

  • Miembro MUY activo
  • ***
  • Mensajes: 177
    • Ver Perfil
Pasar Objetos Como Parémetros
« en: Miércoles 27 de Febrero de 2008, 16:35 »
0
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
  1.  
  2. //---------------------------------------------------------------------------
  3.  
  4. #include <vcl.h>
  5. #include <iomanip.h>
  6. #include <iostream.h>
  7. #include <conio.h>
  8. #pragma hdrstop
  9.  
  10. //---------------------------------------------------------------------------
  11. class Datos{
  12.  
  13. public:
  14.         AnsiString suma(AnsiString x, AnsiString y);
  15.  
  16.  
  17. };// end class
  18. //---------------------------------------------------------------------------
  19. int Datos::suma(AnsiString x, AnsiString y){
  20. return x+y;
  21.  
  22.  
  23.  
  24. }//end fun
  25.  
  26.  
  27.  
  28. #pragma argsused
  29. int main(int argc, char* argv[])
  30. {
  31.  
  32. AnsiString x="hola";
  33. AnsiString y="chau";
  34.  
  35. Datos *D;
  36.  
  37. AnsiString S=D->suma(x,y);
  38.  
  39. cout << S.c_str();
  40.  
  41. getch();
  42.  
  43.  
  44. }
  45. //---------------------------------------------------------------------------
  46.  
  47.  

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!
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook



http://www.maxcode.com.ar

http://www.shanky.com.ar

el_shanky

  • Miembro MUY activo
  • ***
  • Mensajes: 177
    • Ver Perfil
Re: Pasar Objetos Como Parémetros
« Respuesta #1 en: Miércoles 27 de Febrero de 2008, 16:48 »
0
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:
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook



http://www.maxcode.com.ar

http://www.shanky.com.ar