Witam
Wspominałem już w innym wątku że buduje sieć neuronową a po drodze trafiam na przeszkody jako że nie jestem obyty z językiem, a więc:
Mam klasy:Neuron z zagnieżdzoną klasą Wejscia i klase Siec , sercem klasy Sieć jest :
vector<vector<Neuron> > warstwy ;
plus metody, więc pomyślałem że zamiast tego było by dobrze odziedziczyć vector i dodać metody : I tu napotykam problemy:
1.Kiedy chce dziedziczyć po vectorze dostaje komunikat: "6 "expected class-name before '{' token "
2.Gdy już uda mi się wykonać punkt wyżej to będę tworzył sieć poprzez:
Siec<vector<Neuron> warstwy
, a chciałbym tworzyć obiekty jako instancje klasy Siec "Siec warstwy" i żeby te warstwy były już tymi dwuwymiarowymi wektorami jak po konstrukcji vector<vector<Neuron> > warstwy ;
bo w tej chwili musze stworzyc w main obiekt klasy Siec w której powstaje ten vector vectorow so sprawia ze instrukcje staja sie przy dlugie bo musze pisac obiekt.warstwy zamiast odwolywac sie bezposrednio np. warstwy[0][0], i nie chciał bym tego rozwiązać poprzez typedef choćby ze względów dydaktycznych żeby się czegoś nauczyć.
Witam
Wspominałem już w innym wątku że buduje sieć neuronową a po drodze trafiam na przeszkody jako że nie jestem obyty z językiem, a więc:
Mam klasy :Neuron z zagnieżdżoną klasą Wejścia i klasę Siec (tu przechowuje obiekty Neuron), sercem klasy Sieć jest :
```cpp
vector<vector<Neuron> > warstwy ;
plus metody, więc pomyślałem że zamiast tego było by dobrze odziedziczyć vector i dodać metody : I tu napotykam problemy:
1.Kiedy chce dziedziczyć po vectorze dostaje komunikat: "6 "expected class-name before '{' token "
2.Gdy już uda mi się wykonać punkt wyżej to będę tworzył sieć poprzez:
Siec<vector<Neuron> warstwy
, a chciałbym tworzyć obiekty jako instancje klasy Siec "Siec warstwy" i żeby te warstwy były już tymi dwuwymiarowymi wektorami jak po konstrukcji
vector<vector<Neuron> > warstwy ;
bo w tej chwili musze stworzyć w main obiekt klasy Siec w której powstaje ten vector vectorow co sprawia ze instrukcje staja się przy długie bo musze pisać obiekt.warstwy zamiast odwoływać się bezpośrednio np. warstwy[0][0] gdyby warstwy były bezpośrednio obiektem klasy Siec, i nie chciał bym tego rozwiązać poprzez typedef choćby ze względów dydaktycznych żeby się czegoś nauczyć.
Mam też problem z klasa Wejścia która jest zagnieżdżona w klasie Neuron chciałbym abym mógł napisać
```cpp
web->warstwy[0][0].wejscia[0].set(1)
przy czym web to obiekt klasy Siec z vektorami vektorow w postaci warstwy, więc odnoszę się do pierwszego neurony pierwszej warstwy by pierwsze wejścia było ustawione jako i tu właśnie chodzi mi o metodę set, bo chciałbym przesyłać jedynie int z numerem neuronu(neurony numeruje) w metodzie set odpowiedni neuron byłby odnaleziony i jego wyjście było by przypisane do danego wejśćia neuronu na rzecz którego ta metoda została wywołana , a problem leży w tym że w klasie Wejście nie mam dostępu do tego wektoru wektorów z neuronami w srodku z Klasy siec, i pytanie brzmi czy istnieje jakiś sposób bym miał dostęp do powstałego juz wektoru wektorów z klasy siec w klasie Wejście bez przesyłania obiektu klasy Siec z tym wektorem przez argument metody.
Mam też problem z klasa Wejscia ktora jest zagnieżdzona w klasie Neuron chciałbym abym mogl napisac
web->warstwy[0][0].wejscia[0].set(1)
przy czym web to obiekt klasy Siec z vektorami vektorow w postaci warstwy, więc odnoszę się do pierwszego neurony pierwszej warstwy by pierwsze wejscia bylo ustawione jako i tu wlasnie chodzi mi o metode set, bo chcialbym przesylac jedynie int z numerem neuronu(neurony numeruje) w metodzie set odpowiedni neuron bylby odnaleziony i jego wyjście było by przypisane do danego wejśćia neuronu na rzecz którego ta metoda została wywołana , a problem leży w tym że w klasie Wejscie niemam dostepu do tego wektoru wektorow z neuronami w srodku z Klasy siec, i pytanie brzmi czy istnieje jakis sposob bym mial dostep do powstalego juz wektoru wektorow z klasy siec w klasie Wejscie bez pprzesylania obiektu klasy Siec z tym wektorem przez argument metody.