tablicowy obiekt klasy przesyłany do funkcji

0

Mam funkcję składową, mam też tablicowy obiekt tej klasy, w bloku głównym wywołuje te funkcję

obiekttejklasy[1].NAZWAKLASY(objekttejklasy[],1,5);

wiem że to jest złe ale chce wam zilustrować sytuację. Przy wysyłaniu obiektu nietablicowego wszystko jest ok, ja chcę jednak wysłać obiekt tablicowy by kolejno przypisywać dane składników klasy do tego obiektu. Jak to się robi w przypadku wysyłania obiektów tablicowych ?

0

w bloku głównym wywołuje te funkcję

Jaką funkcję? Nie widzę funkcji. Jaki to język? Chyba nie znam...

0

C++

class klasa
{
public:

klasa funkcja(klasa tablica[], int pomocnicza)

};

int main()
{
klasa obiekt[];

//tutaj chcę przeslać tablicę obiekt do funkcji
obiekt.funkcja(obiekt,1);

}

2

google: "jak przekazać tablicę do funkcji c++"
3 pierwsze wyniki. Miłej lektury.

0

Nie wiem czy ci o to chodzi:

class Klasa
{
     void funkcja(char* tab);
}
 
int main()
{
     char tablica[] = "asfds";
     Klasa objekt;
     objekt.funkcja(tablica);
}
 
0

//tutaj chcę przeslać tablicę obiekt do funkcji
obiekt.funkcja(obiekt,1);

Ym.. Pisząc takie coś przesłałeś ją do funkcji.
A dokładniej adres 1 komórki tablicy (tablica[0]) :>

0

dopisałem linijki żeby sprawdzić czy zadziała i nie kompiluje się:

#include <iostream>

class Klasa
{ public:
void funkcja(char* tab);
};

int main()
{
char tablica[] = "asfds";
Klasa objekt;
objekt.funkcja(tablica);
}

Mój testowy program

#include <iostream>
using namespace std;

class klasa
{
public:

int zmienna;
klasa funkcja(klasa tablica[],int zmienna);
};

int main()
{

klasa tab[5];

tab.funkcja(tab ,6);

}

Próbuję wysłać obiekt do funkcji składowej, żebym w tej funkcji mógł przypisać do obiektu wartości składników klasy.

0

Nie kompiluje się, hm? A czemu się nie kompiluje?

int main()
{

klasa tab[5];

tab.funkcja(tab ,6);

}

Chłopie, co to jest? Wywołujesz metodę na całej tablicy?

Znaczy, że co, że chcesz wywołać metodę na wszystkich obiektach w tej tablicy...? Czemu nie tworzysz ani jednego obiektu...?
Nie wiem co to jest, ale to nie jest C++...

0

Nie możesz wywołać tej funkcji tak:

tab.funkcja(...)

Przecież nie odwołujesz się do żadnego konkretnego obiektu klasy..
Zrób sobie inny egzemplarz:

klasa k;
k.funkcja(...)

PS
Jak coś Ci się nie kompiluje, przydatne byłoby gdybyś dawał logi z kompilacji :D Ale tutaj to nie bylo akurat potrzebne

0

request for member 'funkcja' in 'zmienna' , which is of non-class type 'KLASA [9]'

Męczę się z tym od rana, a wszystko szło gładko do momentu tego problemu

0

Czyli tak ?

#include <iostream>

using namespace std;

class klasa
{
public:

int zmienna;
klasa funkcja(klasa tablica[],int zmienna);
};

int main()
{

klasa tab[5],k;

k.funkcja(tab ,6);

}

0

Widzę po nicku, że musisz być straszliwym bystrzakiem.
Jak już tak bardzo chcesz to uruchomić to tak: tab[0].funkcja(tab ,6); ale wyskoczy kolejny błąd, ponieważ nie masz definicji ciała metody funkcja.

Nie twórz herezji tylko naucz się podstaw.

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