Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [C++]operator

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    26

    [C++]operator

    Questo argomento è spesso trattato,
    ma trovo difficolta a definire un operatore [] overloaded
    Mi spiego:

    class B...

    double A = B[x]; // apposto

    B[x] = A //l-value specifies const object

    l'operatore è definito così:
    double const &operator[](const int i) const{return (array[i]);}

    ho provato un pò tutto, ho fatto anche ricerche...

    Grazie mille!

  2. #2
    se non sbaglio l'overloading dell'operatore deve restituire un'ggetto e non un variabile primitiva...io avevo fatto cosi:

    using namespace std;

    #include <iostream>

    class nik{

    public:
    int a;

    nik(int a)
    {
    this->a=a;
    }
    void stampa(){
    cout<<"a="<<a<<endl;
    }

    };

    nik &operator+(nik ax,nik bx);

    int main(){

    nik k(1);
    nik l(1);

    nik m=(k+l);

    m.stampa();

    return 0;
    }


    nik &operator+(nik ax,nik bx)
    {
    int a=ax.a;
    int b=bx.a;

    nik *v=new nik(a+b);

    return *v;

    }
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    26
    mi fa sempre molto piacere che qualcuno risponda,
    purtroppo l'operatore + sono riuscito ad implementarlo senza troppe difficolta.


    questo costruttore è molto interessante, non avevo mai visto una cosa così prima...

    nik(int a)
    {
    this->a=a;
    }

    perchè this->a piuttosto che this.a ?? mi sembra che -> si usa con i puntatori...

    io avrei scritto così
    nik(int x)
    {
    a=x;
    }

    La domanda è cmq rivolta all'operatore [] ...

    double const &operator[](const int i) const{return (array[i]);}
    double A = B[x];
    //Funziona

    B[x] = A
    //Errore



    Grazie

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da Bocos
    perchè this->a piuttosto che this.a ?? mi sembra che -> si usa con i puntatori...
    Proprio perchè this è un puntatore.

    Per il problema dell'overload dell'operatore [] ora non ho il mio fido manuale sotto mano. Forse questa sera riesco a risponderti.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    scusate ma cosa fa l'operatore [] ?
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.