Problem z klasa i wkaznikiem

0

Powiedzmy ze mam taka klase:

class XXX
{
float * wsk;
};

Definiuje sobie obiekt:
XXX obiekt;

Moje pytanie brzmi: jak sprawic zeby liczba pod adresem np. wsk+5 (zakladajac ze jest to sensowne) z obiektu obiekt mozna zapisac do innej zmiennej np.

float f=obiekt.*(wsk+10); // to oczywiscie nie dziala

0

Jeśli o 5 rozmiarów floata dalej ...

obiekt.wsk[5] lub *(obiekt.wsk+5) <- traktujesz wskaznik jak tablice po prostu

Jesli o 5 bajtów dalej...

((float)(((char*)obiekt.wsk)+5))

// dla statycznych, dla dynamicznych zamiast 'obiekt.wsk' jest 'obiekt->wsk' albo '(*obiekt).wsk'

0

Musisz mieć wskaźnik w public

class XXX
{
 public:
   float * wsk;
};

int main(int argc, char* argv[])
{
 float tab[10]={1,2,3,4,5,6,7,8,9,0};
 XXX obiekt;
 obiekt.wsk=tab;
 cout<< *(obiekt.wsk+5);
 getch();
        return 0;
}
0

Dzieki flabra, teraz dziala!

1 użytkowników online, w tym zalogowanych: 0, gości: 1