tablica wskaźników na elementy klasy.
Ostatnio zmodyfikowano 2010-09-29 14:52
tramwaj157 Temat założony przez niniejszego użytkownika |
tablica wskaźników na elementy klasy. » 2010-09-29 12:36:53 Witam. Potrzebuję stworzyć tablicę ze wskaźnikami na elementy klasy. i tą tablicę chcę tak przenieść do funkcji, żeby zmieniać elementy tablicy. Czy jest mozliwe takie cos? jak potem w funkcji odnosić sie do elementów klasy ? ja zrobilem tak: void funkcja2( element * tablica ) { for( int i = 0; i < 4; i++ ) printf( "\n%d: %d, ", i, tablica[ i ].ocena ); }
void funkcja1() { element * tablica[ 4 ]; for( int i = 0; i < 0; i++ ) { tablica[ i ]->ocena = 1000 * i; } funkcja2( tablica[ 0 ] ); }
main() { funkcja1(); return 0; }
no niestety moja wersja nie dziala, wypisuje 'głupoty'. pozdrawiam. |
|
malan |
» 2010-09-29 14:51:43 #include <iostream>
class cLegs { size_t mark; public: cLegs(); size_t getMark(); void setMark( const size_t ); };
cLegs::cLegs() { mark = 0; }
size_t cLegs::getMark() { return mark; }
void cLegs::setMark( const size_t newMark ) { mark = newMark; return; }
void foo( cLegs *, const int ); void print( cLegs *, const int );
int main() { cLegs * womansLegs = new cLegs[ 3 ]; foo( womansLegs, 3 ); print( womansLegs, 3 ); delete[] womansLegs; return 0; }
void foo( cLegs * legs, const int size ) { for( int i = 0; i < size; i++ ) legs[ i ].setMark( i * 5 ); return; }
void print( cLegs * womansLegs, const int size ) { for( int i = 0; i < size; i++ ) std::cout << womansLegs[ i ].getMark() << std::endl; } |
|
pekfos |
» 2010-09-29 14:52:45 for( int i = 0; i < 0; i++ ) he he.. a poza tym to jak masz wskaźniki to chyba gdzieś musi nastąpić alokacja, inaczej odwołujesz się do śmieci. |
|
« 1 » |