SoloCodigo

Programación General => C/C++ => Visual C++ => Mensaje iniciado por: NoKaCHi en Martes 18 de Julio de 2006, 14:08

Título: Referencia A Clase
Publicado por: NoKaCHi en Martes 18 de Julio de 2006, 14:08
Pues les explico:

tengo una clase Ingrediente y una clase receta.
en la clase receta tengo que tener un array dinamico con objetos ingrediente, y lo tengo escrito asi:

class Receta
{
   char* nombre;
   int indice;
   double coste;
   Ingrediente** arrIngredientes;

public:
   Receta (const char* nom, int ind, double cost)
   {
      nombre= new char[strlen(nom)+1];
      strcpy (nombre,nom);
      indice=ind;
      coste=cost;
      arrIngredientes= new Ingrediente*[ind];
   };


El caso es, que tengo que hacer un método con la siguiente cabecera:

const Ingrediente& getIngrediente(int indice)


y no hay tu tia, el & me vuelve loco y me da errores de compilación despues de probar mil cosas.

¿alguien me prodria decir como devuelvo el dichoso ingrediente?
Título: Re: Referencia A Clase
Publicado por: ivancp en Martes 18 de Julio de 2006, 15:53
si cambias por

Ingrediente& getIngrediente(int indice) const ;

la implementacion sería

Ingrediente& getIngrediente(int indice) const
{
   ...
}

Pero creo que debes retornar de esta manera

Ingrediente&* getIngrediente(int indice) const ;

Cosa que no tienes problemas.