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

[C++] Zmiana wskaźnika na obiekt

Ostatnio zmodyfikowano 2014-03-26 13:05
Autor Wiadomość
eloKretyn
Temat założony przez niniejszego użytkownika
[C++] Zmiana wskaźnika na obiekt
» 2014-03-25 23:30:28
Witam,
aby przedstawić mój problem przedstawię kod inny niż mój, lecz lepiej przedstawiający problem.

C/C++
class klasa {
   
public:
   
    char a;
    klasa * next;
};

void funkcja( klasa * el ) {
   
    el = el->next;
}

int main() {
   
    klasa * a = new klasa();
    a->next = new klasa();
   
    a->a = '1';
    a->next->a = '2';
   
    funkcja( a );
   
    //chcialbym aby wyswietlilo '2'
    cout << a.a;
    return 0;
}

Mianowicie chciałbym, aby po wykonaniu funkcji, wskaźnik 'a', wskazywał na a->next. Otóż rozumiem jak sprawa ma się w zwykłych zmiennych - funkcja nie zmieni zmiennej bo tworzy tylko jej instancję, chyba że prześlemy do funkcji wskaźnik na zmienną. Teraz mogę zmienić sam obiekt, ale nie przekierować wskaźnik. Wiem, że mogę w funkcji (typ klasa *) zwrócić wskaźnik i przypisać go do 'a', lecz takie rozwiązanie nie pasuje do mojego programu. Czy jest jakakolwiek możliwość przekierowania wskaźnika w samej funkcji?

Mam nadzieję, że zrozumiecie mój problem i że istnieje rozwiązanie.
Z góry dziękuję za odpowiedzi i pomoc.
P-107212
maly
» 2014-03-26 06:51:44
void funkcja( klasa *& el )
.
cout << a.a;
 nie kropeczka tylko strzałeczka.
P-107214
eloKretyn
Temat założony przez niniejszego użytkownika
» 2014-03-26 13:05:33
Niesamowite! Jestem bardzo wdzięczny. Dzięki Mały.
P-107218
« 1 »
  Strona 1 z 1