Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [c++] operator++

  1. #1

    [c++] operator++

    Salve questo è ilmio codice

    class lista
    {
    private:
    int valore;
    lista *pross, *prec;
    public:
    lista(int = 0);
    ~lista();
    void PuntaSuccessivo(lista *DovePuntare);
    void PuntaPrecedente(lista *DovePuntare);
    lista *vai_al_successivo(void);
    lista *vai_al_precedente(void);
    void InserisciValore(int NuovoValore);
    int RestituisciValore(void);
    void CreaLista(lista *start);
    void ordina(lista *start);
    void VisualizzaLista(lista *start);
    lista *rovescia(lista *start);

    class listaplus : public lista
    {
    public: void operator++()
    {
    lista *temp=start;
    if (temp == NULL) { cout<<"Lista Vuota"<<endl; system("PAUSE");return;}
    else
    {
    while(temp!=NULL){
    temp->InserisciValore(temp->RestituisciValore()+3);
    temp=temp->vai_al_successivo();}

    }

    int main (void)
    {
    lista start = null;
    listaplus start2=null
    ++(*start2);
    }


    Nel main ovviamente ci sono le chiamate alle funzioni crealista ecc ecc ce vi risparmio.
    Io lavoro sulla variabile start dichiarata come lista.Il mio problema e che la funzione operator++ esendo dichiarata nella sottoclasse listaplus ovviamente lavora su di essa, ma io voglio farla lavorare su star(dichiarato di tipo lista).Il problema e che nn so come far passare alla fuzione operator++ il puntatore all'oggetto di tipo lista(start).Nel codice che ho postato, quando richiamo la funzione, mi dice che start non è dichiarata, se usassi this al posto di start ovviamente mi dice che è vuota.Quindi come faccio a passare l'oggetto start o per lo meno far lavorare la funzione operato++ su start e non su start2??

    Grazie spero di essere stato chiaro, in caso contrario urlatemi addosso e cerchero di rispiegarvi il problema.Tks a tutti.
    Ci sono solo 2 giorni a cui non bisogna pensare mai...ieri e....domani!!

    www.kemsite.altervista.org ....C.O.D.2 clan!!

  2. #2
    dovresti definire l'operatore ++ per la classe lista.

    p.s.
    Attenzione che derivare da classi che non hanno un distruttore virtuale (come tu fai derivando listaplus da lista), in generale non e' semanticamente corretto.

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.