Konwersacja klas

0

Witam. Ostatnio zacząłem się bawić konwersacją ale coś mi nie wychodzi. Napisałem mały programik, który ma konwersować jedną klasę na drugą tak, żeby obiekt tej klasy pasował do argumentu funkcji i nie chce działać. Nie wiem co jest tutaj źle. Zresztą zobaczcie sami.

#include<iostream>
#include<conio.h>
using namespace std;

class dwa;
class jeden{
      int sklad1;
      int sklad2;
      public:
             jeden(int a,int b):sklad1(a),sklad2(b){}
             operator dwa()
             {
                      dwa ss(sklad1);
                      return ss;
             }
};
//*********************************************
class dwa{
      public:
             int skladniczek;
             dwa(int a):skladniczek(a){}
};
//*********************************************
void pole(dwa ile)
{
     cout<<"\nPole wynosi: "<<ile.skladniczek*ile.skladniczek;
}
//*********************************************
main()
{
      jeden z(2,4);
      dwa x(8);
      
      pole(z);
      pole(x);
      
      getch();
}
0
#include<iostream>
#include<conio.h>
using namespace std;

class dwa;
class jeden{
      int sklad1;
      int sklad2;
      public:
             jeden(int a,int b):sklad1(a),sklad2(b){}
             operator dwa();
};
//*********************************************
class dwa{
      public:
             int skladniczek;
             dwa(int a):skladniczek(a){}
};
//*********************************************
jeden::operator dwa() {
	dwa ss(sklad1);
return ss;
}
//*********************************************
void pole(dwa ile)
{
     cout<<"\nPole wynosi: "<<ile.skladniczek*ile.skladniczek;
}
//*********************************************
main()
{
      jeden z(2,4);
      dwa x(8);
     
      pole(z);
      pole(x);
     
      getch();
}

Zrob tak, a bedzie dzialac. Nie pamietam dokladnie ale chyba blad powodowalo to ze nie umiesciles definicji klasy dwa wczesniej niz definicji operatora dwa() :)

P.S. To sa konwersje, a nie konwersacje ;P

0

Ok wielkie dzięki. Tego nie wziąłem pod uwagę.

P.S. ze słownictwem postaram się poprawić :/

1 użytkowników online, w tym zalogowanych: 0, gości: 1