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

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

Ostatnio zmodyfikowano 2013-11-11 20:29
Autor Wiadomość
janek90
Temat założony przez niniejszego użytkownika
[C++] Przeciążenie operatora []
» 2013-11-11 18:55:27
Witam serdecznie. Mam problem z przeciązeniem operatora[]

definiowanie w klasie

friend & operator []( int i );

jako funkcja

C/C++
double & Wielomian::operator []( int i )
{
    return wspolczynniki[ i ];
}

VS 2013 wyrzuca 2 errory
1. Error: class "Wielomian " has no member "operator[]"
2. operator must be nonstatic

Pozdrawiam
P-96062
pekfos
» 2013-11-11 19:10:10
C/C++
friend & operator []( int i );
Co to?
P-96068
janek90
Temat założony przez niniejszego użytkownika
» 2013-11-11 19:14:48
xD

Ogolnie robilem to na podstawie tego:
C/C++
class s_array
{
    double * arr;
public:
    s_array( int ndim ); //konstruktor: alokuje pamięć dla tablicy arr o ndim elementów
    ~s_array(); //destruktor: zwalnia tąpamięć
    double & operator []( int i );
    void put( double a, int i ) { arr[ i ] = a; }
    double get( int i ) { return arr[ i ]; }
};
double & s_array::operator []( int i )
{
    return arr[ i ];
}
int _tmain( int argc, _TCHAR * argv[] )
{
    int ii;
    s_array aa( 10 );
    //teraz można odwołowywac do obiektu klasy s_array tak, jako do zwyklej tablicy
    aa[ 0 ] = 100.0; //tu [] jest użyty jako L-value
    aa[ 1 ] = aa[ 0 ] + 100.0;
    .
P-96070
DejaVu
» 2013-11-11 20:05:17
Wywal tą linijkę z friendem o której Ci pekfos napisał.
P-96082
janek90
Temat założony przez niniejszego użytkownika
» 2013-11-11 20:29:12
Działa. Dziękuje bardzo
P-96087
« 1 »
  Strona 1 z 1