Wymiana informacji między klasami
Ostatnio zmodyfikowano 2014-08-05 22:25
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. 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. |
|
1aam2am1 |
» 2014-08-03 20:57:48 Poco ci to? |
|
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. |
|
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? |
|
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. |
|
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 |
|
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 |
|
« 1 » |