Jak wyświetlić obiekt przez wskaźnik this w funkcji globalnej?

0

Chciałem napisać program, w którym funkcja składowa wywołuje funkcję globalną i przekazuje jej wskaźnik this, po to aby np. stworzyć listę osób zapisanych na wycieczkę. Nie wiem jak zdefiniować funkcję globalną.
Mój kod:

 #include <iostream>

using namespace std;

void zapis_osoby_na_wycieczke(osoba *jej_adres)
{

}
class osoba
{
public:
    void moje_wakacje()
    {
        zapis_osoby_na_wycieczke(this)
    }
private:
    string nazwisko;
    int lata;
};
int main()
{
    osoba Tomek;
    

    return 0;
}
0

pomoże ktoś ?

0

Przed definicją funkcji daj:

class osoba;

Ale żeby cokolwiek zrobić na danych klasy, to albo musi być to funkcja zaprzyaźniona, albo musisz mieć jakieś dane publiczne w klasie. Dodatkowo - odwoływać się w funkcji globalnej do składowych klasy możesz dopiero po definicji klasy, więc program powinien wyglądać mniej więcej tak:

class osoba;
void zapis_osoby_na_wycieczke(osoba *jej_adres);
class osoba
{
[...]
};
void zapis_osoby_na_wycieczke(osoba *jej_adres)
{
[...] 
}

dodanie znacznika <code class="csharp"> - @furious programming

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