Wpis z mikrobloga

@Noct: Dlaczego nie zrobisz tych pól jako składowych klasy? Wtedy metodę load, ktora pozwala na doczytywanie z pliku danych. Wtedy tworząc obiekty tej klasy, wywolujesz na ich ich metodę load i wszystko gra. A kolejnymi metodami w tej klasie masz dostęp do składowych klasy.
@Noct: Spróbuj zrobić sobie jakas fabrykę obiektów. Niech to ona wczyta dane z pliku i na podstawie zawartości, zwróci dana liczbe obiektów z juz zainicjowanymi prywatnymi polami skladowymi. A pola inicjuj konstruktorem podczas tworzenia obiektu w fabryce
@glaskacz_slimakow: @pozdro_dla_niekumatych: @alosha:

Takie coś?

Jak połączyć (pogrupować? ) te wszystkie zmienne (hp, id, name... ) w mniejszy obiekt?
Np. żeby otrzymać 'name' obiektu piątego, chciałbym w funkcji głównej wywołać tylko np. 'cEntity.nazwaobiektu.name[5]'

Wydaje mi się, że tego potrzebuję, ponieważ teraz mam po prostu zmienne w klasie, a chciałem w tej samej klasie umieścić jeszcze inne obiekty o tych samych nazwach zmiennych (tutaj mam bazę z danymi mobów
@Noct: ja bym zrobił coś w stylu
class entity {
string name;
int xxx;
}

class database {
entity entities[11];
}

i ewentualnie jak chcesz miec bazy danych w jednej klasie to
class databases {
database dbs[3];
}
@Noct: Tak jak mówi @pozdro_dla_niekumatych, wykorzystuj obiekty, staraj się myśleć obiektowo. Traktuj obiekty jak cegiełki z których składasz coś większego. Baza danych składa się z entities i tam może być np. kolekcja, tablica. OBiekt z bazami danych nie przechowuje już kilku tablic a obiekt bazy danych w której każda ma swoją tablicę. Oczywiście to wszytko bardzo uproszczając myślenie, bo można dołożyć obiekty tabelek i wtedy nie robić wielu baz a
@glaskacz_slimakow: Uch, mógłbyś to opisać w lżejszy sposób (mniej pseudokodu, więcej c++ lub innych), albo mnie do czegoś konkretnego odesłać? Obecnie próbuję podzielić to na dwie klasy lub jakoś ogarnąć w jednej, problem jest wciąż ten sam. Dostaję albo tablice zmiennych w klasie, albo obiekt do którego potem nie mogę uzyskać dostępu (z metody void load()zawartej w klasie)...
@glaskacz_slimakow: Problem rozwiązany. Zrobiłem dwie klasy. Jedna definiuje zmienne obiektu, druga tworzy tablicę obiektów, w niej też się bawię z S&G. Największym/głupszym błędem było to, że już w funkcji głównej próbowałem wywołać zmienną, która była tylko definiowana, zamiast odnieść się do zmiennej utworzonej dla konkretnego obiektu z tablicy ( ͡° ʖ̯ ͡°)
Jadę dalej...
@Noct: Pamiętaj, że klasa to taka "matryca" na podstawie której tworzysz kopie obiektów tej klasy. Staraj się dbać o hermetyzację, tj. ograniczaj dostęp do zmiennych obiektu, które nie powinny być dostępne bezpośrednio poprzez operator " . " (obiekt.zmiennaX). Jeżeli masz jakieś pytania to wrzucaj (najlepiej z kodem), może będę potrafił coś doradzić, a na pewno znajdą się inni bardziej ogarnięci co pomogą.