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

Przeciazanie operatorow

Ostatnio zmodyfikowano 2015-09-16 14:20
Autor Wiadomość
kogut52
Temat założony przez niniejszego użytkownika
Przeciazanie operatorow
» 2015-09-16 13:18:50
Witam walcze dosyc dlugo z problemem przeciazenia operatora >> jezeli ktos widzi gdzie popelnilem blad prosilbym o wstazanie pod jakas mala podpowiedz. bland kompilatora to: ||=== Build: Debug in 4.2 (compiler: GNU GCC Compiler) ===|
/home/gigaset/Desktop/cwiczenia-wszytkie/cwiczenia/dzial 4/4.2/4.2/src/n_int.cpp|40|error: ‘std::istream& n_int::operator>>(std::istream&, const n_int&)’ must take exactly one argument|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

C/C++
#ifndef N_INT_H
#define N_INT_H
#include<fstream>
#include<iostream>
using namespace std;



class n_int
{
public:
    n_int();
    n_int( int zmienna );
    n_int operator +( const n_int & obiekt );
    n_int operator -( const n_int & obiekt );
    n_int operator *( const n_int & obiekt );
    n_int operator /( const n_int & obiekt );
    friend istream & operator >>( istream & obiekt, const n_int & obiekt2 );
   
    virtual ~n_int();
protected:
private:
    int liczba;
    bool okt;
};

#endif // N_INT_H
C/C++
#include "n_int.h"
#include<iostream>
#include<fstream>
using namespace std;



n_int::n_int()
{
    okt = false;
}
n_int::n_int( int zmienna )
{
    zmienna = liczba;
    okt = true;
   
}

n_int n_int::operator +( const n_int & obiekt )
{
    return n_int( obiekt.liczba + obiekt.liczba );
   
}
n_int n_int::operator -( const n_int & obiekt )
{
    return n_int( obiekt.liczba - obiekt.liczba );
   
}

n_int n_int::operator *( const n_int & obiekt )
{
    return n_int( obiekt.liczba * obiekt.liczba );
}

n_int n_int::operator /( const n_int & obiekt )
{
    return n_int( obiekt.liczba / obiekt.liczba );
}

istream & n_int::operator >>( istream & obiekt, const n_int & obiekt2 )
{
    obiekt >> obiekt2.liczba;
    if( obiekt2.liczba != 0 )
    {
        return obiekt2.okt = true;
    }
}

n_int::~n_int()
{
    //dtor
}
P-137560
Monika90
» 2015-09-16 13:29:48
C/C++
istream & n_int::operator >>( istream & obiekt, const n_int & obiekt2 )
{
    obiekt >> obiekt2.liczba;
    if( obiekt2.liczba != 0 )
    {
        return obiekt2.okt = true;
    }
}
Ten operator nie jest składową klasy więc nie używaj n_int:: w jego definicji. Poza tym, próbujesz wczytywać do stałej. Brakuje też instrukcji return.
P-137561
kogut52
Temat założony przez niniejszego użytkownika
» 2015-09-16 13:44:32
wiesz moze w jaki sposob mozna teraz zmienic warosc okt na true?
P-137564
kogut52
Temat założony przez niniejszego użytkownika
» 2015-09-16 14:20:38
Dzieki Monika problem rozwiazany:)
P-137566
« 1 »
  Strona 1 z 1