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

Przekazywanie tablicy obiektów jako argument do metody w tej klasie.

Ostatnio zmodyfikowano 2017-01-09 12:35
Autor Wiadomość
Cytrynka1551
Temat założony przez niniejszego użytkownika
Przekazywanie tablicy obiektów jako argument do metody w tej klasie.
» 2017-01-09 11:48:24
Witam.
Piszę prosty program obiektowy w c++ ale mam problem z klasą i jej obiektem (a właściwie tablicą dwuwymiarową obiektów), który chcę przesłać do metody w tej klasie.
Mam następującą klasę:

C/C++
class Pola
{
public:
    int wartosc;
    int zlicz( Pola obiekt[ 100 ][ 100 ] )
    {
        int i = obiekt[ 2 ][ 4 ].wartosc;
        return i;
    }
};

W main
C/C++
Pola kw[ 100 ][ 100 ];
int a = zlicz( kw ); //wywolanie metody z argumentem ktorym jest obiekt?
//a moze ma byc raczej int a = kw.zlicz(?)

Żaden z tych sposobów nie działa, bo oba są i tak absurdalnie głupie.

Nie wiem jak przesłać tablicę obiektów do klasy jako argument do metody, która jest w tej samej klasie. Nie wiem również jak później wywołać taką funkcję. Gdyby to był zwykły obiekt napisałabym Pola &obiekt, ale gdy dam to dla tablicy to jest napisane że nie można zrobić referencji do tablicy obiektów.
Proszę o pomoc.
P-156231
pekfos
» 2017-01-09 11:54:28
Wybierz konkretny element tablicy i dla niego wywołaj tą metodę.
P-156233
Cytrynka1551
Temat założony przez niniejszego użytkownika
» 2017-01-09 12:04:41
A gdyby moja funkcja miała taką postać:
C/C++
int zlicz( Pola obiekt[ 100 ][ 100 ] )
{
    int licznik = 0;
    for( int j = 0; j < 100; j++ )
    {
        for( int i = 0; i < 100; i++ )
        {
            if( obiekt[ j ][ i ].wartosc == 1 )
            {
                licznik++;
            }
        }
    }
    return licznik;
}

to jak ją wywołać? Tu już chyba nie wystarczy zwykłe wywołanie dla konkretnego elementu?
Potrzebuję mieć w zmiennej ilość takich elementów w tablicy obiektów, których wartość wynosi 1. Chcę je zliczyć w funkcji i normalnie przekazać przez return.
P-156234
darko202
» 2017-01-09 12:35:43
P-156236
« 1 »
  Strona 1 z 1