Wykonanie funkcji na obiekcie globalnym z obiektu lokalnego.

0

Witam. Mam następujący problem. Chciałbym wykonać następującą czynność, pseudo kod zobrazuje to.

Pierwszy plik


main()
{

ObiektDanejKlasy Obiekt;

InnaKlasa ObiektDwa;

ObiektDwa.funkcja_mająca_robić_coś();
}
class InnaKlasa
{
void funkcja_mająca_robić_coś(void);
};

void InnaKlasa::funkcja_mająca_robić_coś(void)
{
//***************
// Tu chciałbym zrobić coś z obiektem Obiekt klasy ObiektDanejKlasy
// zdefiniowanym w funkcji main()
//***************
}

W jaki sposób mogę zrealizować takie działanie? Celem jest niewywoływanie na rzecz obiektu Obiekt wielu funkcji w main tylko wrzucenie tego do jednego działania w obiekcie klasy zdefiniowanej przeze mnie. Próbowałem deklaracji zapowiadających w klasie InnaKlasa, ale niestety nie doszedłem do tego jak to zrobić. Czy ktoś mógłby mnie nakierować jak tego typu problem rozwiązać?

1

Jeżeli chcesz zrobić coś więcej niż tylko przechować wskaźnik albo referencję to deklaracja zapowiadająca nie pomoże.

Możesz za to dołączyć po prostu cały plik nagłówkowy klasy ObiektDanejKlasy do pliku nagłówkowego InnaKlasa i przekazać obiekt w funkcja_mająca_robić_coś jako argument.

1

@małpolud jakie znów deklaracje zapowiadajace? o_O Ciebie interesuje OBIEKT a nie klasa! Przekaż ten obiekt / wskaźnik do niego / referencje do niego do metody funkcja_mająca_coś_robić() jako argument.

0

Oczywiście jest to prawidłowe i dobre rozwiązanie, zakręciłem się :)

Dziękuję za odpowiedzi.

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