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

tablica wskaźników na elementy klasy.

Ostatnio zmodyfikowano 2010-09-29 14:52
Autor Wiadomość
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:
C/C++
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.
P-22477
malan
» 2010-09-29 14:51:43
C/C++
#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;
   
}
P-22480
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.
P-22481
« 1 »
  Strona 1 z 1