• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak pozwolić metodzie na korzystanie z argumentów innej klasy??

0 głosów
987 wizyt
pytanie zadane 7 lutego 2018 w C i C++ przez Perseusz Bywalec (2,180 p.)
edycja 7 lutego 2018 przez Perseusz

EDITx2:

No więc mam takie pytanko czy da się zaprzyjaźnić klasę z metodą innej klasy bez przyjaźnienia samej klasy? Gdy próbowałem sposobem pierwszym to poprostu nie działał, a sposobem drugim deklaruje przyjaźń z całą klasą czego nie chce, czy da się tego uniknąć..?

friend bool licz_ludnosc(); //sposob 1.
friend class Panstwa; //sposob 2.

 

komentarz 9 lutego 2018 przez mokrowski Mędrzec (158,940 p.)
W jakim celu chcesz to zrobić?

2 odpowiedzi

+4 głosów
odpowiedź 7 lutego 2018 przez Bondrusiek Maniak (61,460 p.)

Witam,

możesz zastosować mechanizm przyjaźni co do funkcji składowej danej klasy. Nie wiem czy dokładnie o to Ci chodziło.

#include<iostream>
using namespace std;


class B;//deklaracja zapowiedz klasy
class A
{
public:
    void funkcjSkladowa(B &);//dzieki deklaracji można użyć referencji
};
class B
{
private:
    int a;
    friend void A::funkcjSkladowa(B& );//nie ważne gdzie deklaruje się przyjaźń(tu private:)
    int zwrocSklPrywatny();
};

int B::zwrocSklPrywatny()
{
    return a;
}

void A::funkcjSkladowa(B &c)//można odwoływać się do składników prywatnych klasy B
{
    c.a = 1500; // a jest prywatne
    cout << c.a << " " << c.zwrocSklPrywatny()<< endl;
}

int main()
{
    A a;
    B b;
    a.funkcjSkladowa(b);

    return 0;
}

 

komentarz 9 lutego 2018 przez Perseusz Bywalec (2,180 p.)

Chyba będe musiał nad tym dłużej pomyśleć, w każdym razie dzięki! smiley

Referencja wydaje sie bardziej przydatna niż myślałem

+1 głos
odpowiedź 7 lutego 2018 przez Szahid Pasjonat (20,970 p.)
Spróbuj zrobić z tej metody funkcje i zaprzyjaźnić ją z obiema klasami
komentarz 7 lutego 2018 przez Perseusz Bywalec (2,180 p.)

Bardziej wygodne wydaje mi sie mimo wszystko zaprzyjaźnienie klasy, spróbuje jednak swoim sposobem i zaczne robić dalej, ale jakimś innym wygodnym nie pogardze smiley.

Dzięki za odpowiedź

Podobne pytania

0 głosów
1 odpowiedź 1,229 wizyt
0 głosów
1 odpowiedź 574 wizyt
0 głosów
1 odpowiedź 797 wizyt
pytanie zadane 24 lipca 2018 w C i C++ przez Krutek Początkujący (330 p.)

93,631 zapytań

142,553 odpowiedzi

323,056 komentarzy

63,137 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2416p. - dia-Chann
  2. 2390p. - DziarnowskiJ
  3. 2317p. - raydeal
  4. 2300p. - Adrian Wieprzkowicz
  5. 2243p. - rucin93
  6. 2242p. - Łukasz Piwowar
  7. 2222p. - CC PL
  8. 2117p. - Łukasz Eckert
  9. 2082p. - Michal Drewniak
  10. 1957p. - Maurycy W
  11. 1885p. - robwarsz
  12. 1811p. - rafalszastok
  13. 1600p. - Rafał Trójniak
  14. 1588p. - Tomasz Bielak
  15. 1377p. - ssynowiec
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...