Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    137

    [C++] Overloading operatore infisso []

    qual'è il prototipo di un metodo che in una classe fa l'overloading dell'operatore [] ?
    (ad esempio per utilizzare una lista con la stessa sintassi di un array)
    $Pippo... la variabile preferita dall'ingegnere!

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    codice:
    public oggettoDaRitornare operator[](int);
    Se non erro è così

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    137
    ecco.. siamo sicuri che non prenda in input due dati, ovvero oltre al valore infisso, anche il puntatore all'oggetto?
    $Pippo... la variabile preferita dall'ingegnere!

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    se lo vuoi usare come negli array no.. un solo parametro
    ti fai ritornare il puntatore se vuoi

    public puntOggetto* operator[](int);

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    137
    non dovrebbe ritornare l'alias per essere usato al pari di un array?
    una cosa tipo
    public:
    Data& operator [](const Key& k) {
    Data value=funzione_che_ritorna_il_valore_corretto(K);
    return *value;
    }
    $Pippo... la variabile preferita dall'ingegnere!

  6. #6
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    In genere si.
    A volte il tipo di ritorno è una classe proxy per differenziare inserimento o estrazione (oltre eventualmente a fare un cast del dato stesso).
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.