Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Clases y funciones friend en C++

Iniciado por Capiflash, 19 de Abril de 2008, 05:55:20 PM

« anterior - próximo »

Capiflash

Tenia entendido que las funciones no miembro de una clase declaradas como friend tenian acceso a la parte privada de la misma , no es asi?

class ConjuntoDeEnteros
{
// Definicion de la estructura de representacion de una lista
// donde almacenar el conjunto de tamaño "ilimitado"
typedef struct nodo
{
  int dato;
    struct nodo *siguiente;
}Nodo;
typedef Nodo *Conjunto;
// Definicion de atributos del objeto;
int tamConjunto;
Conjunto con;
     public:
       ...........
       friend ConjuntoDeEnteros operator *(const ConjuntoDeEnteros A, const ConjuntoDeEnteros B);

Ahora la implementacion en el *.cpp

ConjuntoDeEnteros operator *(const ConjuntoDeEnteros A, const ConjuntoDeEnteros B)
{
Nodo *aux;
ConjuntoDeEnteros C;
aux = A.con;
for(int i=0;i<A.cardinal();i++)
{
if(B.pertenece(aux->dato))
{
C.anade(aux->dato);
}
aux = aux->siguiente;
}
return C;
}


Pues bien , me dice que Nodo , aux no se declararon en este ámbito  :shock:

Estoy algo fuera de juego la verdad , alguno puede decirme por qué es?