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

Wymiana informacji między klasami

Ostatnio zmodyfikowano 2014-08-05 22:25
Autor Wiadomość
TheQuake
Temat założony przez niniejszego użytkownika
Wymiana informacji między klasami
» 2014-08-03 20:48:52
Cześć, przygodę tutaj zaczynam prośbą o doradzenie w mojej sytuacji.
Mam dwie klasy, główną, i poboczną. W klasie głównej wywołuje statyczne metody klasy pobocznej (przesyłając jednocześnie wskaźnik do klasy głównej, gdyż w niektórych przypadkach danych jest za dużo do przeniesienia ich za pomocą referencji). Pomyślałem, że mógłbym dziedziczyć metody klasy pobocznej do klasy głównej, jednak dalej nie miałbym dostępu do danych klasy głównej i musiałbym przesyłać wskaźnik klasy głównej do klasy pobocznej.

C/C++
class glowna
{
public:
    glowna();
public:
    int cos = 0;
    int cos2 = 2;
    Map < std::string, std::string > map;
}


class poboczna
{
public:
    poboczna();
public:
    static void zrobCos( & glowna );
    static void zrobCos2( & glowna );
    static void map( & glowna );
}

Mógłbym zwracać z klasy pobocznej wartości, i potem operować na nich w klasie głównej, ale musiałbym je zwracać jako jakiś zbiór wartości. W tej chwili wartości klasy głównej zmieniam w klasie pobocznej.
P-115009
1aam2am1
» 2014-08-03 20:57:48
Poco ci to?
P-115010
pekfos
» 2014-08-03 21:04:59
Czy ten projekt klas jest uzasadniony? Przemyślany..?

(przesyłając jednocześnie wskaźnik do klasy głównej, gdyż w niektórych przypadkach danych jest za dużo do przeniesienia ich za pomocą referencji)
Bzdury.
P-115011
TheQuake
Temat założony przez niniejszego użytkownika
» 2014-08-03 21:17:54
Nie, nie jest uzasadniony. Czyli przesyłanie wielu różnych zmiennych będzie najlepszym rozwiązaniem, w moim przypadku, jak i w każdym?
P-115014
1aam2am1
» 2014-08-03 21:24:06
Jeżeli w jednej klasie będziesz trzymał wszystkie informacje. A inne klasy będą z niej te informacje pobierały i je zmieniały to poco ci je zwracać?
Jak możesz tą klasę przekazać za pomocą referencji.
P-115016
unkn9wn
» 2014-08-03 21:29:28
A przypadkiem to nie "glowna" powinna posiadac takie funkcje klasowe jak zrobCos, zrobCos2 i inne operacje z polami ?

oczywiście pola klasy głównej enkapsulujesz znacznikiem private, a funkcjami public na nich pracujesz
P-115017
kubawal
» 2014-08-05 22:25:08
W potrzebie użyj przyjaciela a konkretnie friend :D
Ale lepiej zmień interfejs, utwórz metody dostępu. Przydadzą sie
P-115101
« 1 »
  Strona 1 z 1