Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Przeciążenie operatora >>

Ostatnio zmodyfikowano 2018-05-30 17:56
Autor Wiadomość
Jah00
Temat założony przez niniejszego użytkownika
[C++] Przeciążenie operatora >>
» 2018-05-30 17:38:24
Witam, pisząc program zawierający przeciążenie kilku operatorów natrafiłem na problem, funkcja przeciążająca operator >> jest f. zaprzyjaźnioną, jednak mimo to kompilator wskazuje błąd dostępu do składowej A i B pisząc że są prywatne, dodam że problem nie występuje przy operatorze <<. Z góry dziękuję za pomoc.

Kod klasy:
C/C++
class Zesp
{
private:
    double A;
    double B;
   
public:
    Zesp();
    Zesp( double a, double b );
   
    Zesp operator +( const Zesp & zs );
    Zesp operator -( const Zesp & zs );
    Zesp operator *( const Zesp & zs );
    Zesp operator *( double n );
   
    friend void operator ~( const Zesp & zs );
    friend Zesp operator *( double n, Zesp & zs );
   
    friend std::istream & operator >>( std::istream & is, const Zesp & zs );
    friend std::ostream & operator <<( std::ostream & os, const Zesp & zs );
};

Definicja operatora >> :
C/C++
istream & operator >>( istream & is, Zesp & zs )
{
    cout << "Skladowa rzeczywista: ";
    is >> zs.A;
    cout << "\nSkladowa urojona: ";
    is >> zs.B;
    cout << endl;
    return is;
}





P-171309
Monika90
» 2018-05-30 17:56:36
Zaprzyjaźniłeś inną funkcję niż definiujesz.
C/C++
std::istream & operator >>( std::istream & is, const Zesp & zs )

C/C++
istream & operator >>( istream & is, Zesp & zs )
P-171310
« 1 »
  Strona 1 z 1