kornica , listy inicjalizacyjne to mechanizm usprawniający dziedziczenie. Nie mylić z listami inicjującymi z C++0x (swoją drogą, współczuję młodym ludziom, którzy zastaną ten standard).
[alex], ogólnie… czuję, że jest straszny natłok tego wszystkiego, starałem się jakoś podołać i zrozumieć to co pisałeś, ale chyba mam jeszcze za mało tego “skilla”
teraz piszę (znaczy piszę od czasu do czasu, jak mam go więcej siadam i stukam w klawiaturę) uproszczoną wersję tego, która opiera się na jednej klasie - ale, po przeczytaniu kilku stron z OOP, utwierdziłem się w przekonaniu, że ten “program” wcale nie musi się na klasach opierać - wiesz, jestem po prostu samoukiem, który coś tutaj przeczytał, coś tutaj i kapkę mam bałagan w tej swojej głowie + zanim się wezmę za pisanie czegoś bardziej przydatnego (no to np przyda mi się na zajęcia co prawda) to na jakiś relatywnie prostych przykładach staram się zrozumieć zasadę działania tego wszystkiego, która jest prosta, ale zbyt dużo jest tych szczegółów a za mało mojej praktyki…
flash4gordon , o listach inicjalizacyjnych przeczytałem i tutaj akurat nie ma żadnej trudności w stosowaniu, można by to równie dobrze, jak [alex] napisał zawrzeć w ciele konstruktora (na tyle na ile zrozumiałem)
generalnie to jedyne co mogę, to czytać i czytać i wymyślać sobie problemy chyba, no mam nadzieję, że chęci mi nie braknie
Żaden program nie musi (niektóre języki programowania wręcz nie mają klas), ale z klasami prościej szybciej i bardziej czytelnie.
[alex], tak wiem o tym, ale mówiłem o tym konkretnym przykładzie
nie wiem napiszę to co mam do końca i mam nadzieję, że będzie to w “większej zgodzie” ze standardem OOP niż poprzedni kod
a kiedy to uda mi się zrobić, to z pewnością będę musiał znaleźć coś na czym będę musiał skupić swój rozwój, być może własnoręczne stworzenie listy (jedno, dwu) a nie korzystanie z stl
– Dodane Pn mar 22, 2010 11:17 pm –
[alex], wspomniałeś o wcześniej o referawowaniu zmiennych z pierwszego tygodnia itd…
nie zrozumiałem do końca Twojej wypowiedzi, ale może jest to rozwiązaniem mojego ostatnio problemu tej nowej wersji
chodzi o to, że jeśli mam przykładowo 4 obiekty klasy A zapisane w tablicy i
A[0] x=100 ; y=30 z=?
A[1] x=0 ; y=30 z=?
A[2] x=0 ; y=30 z=?
A[3] x=100 ; y=30 z=?
to zmienna z ma być liczona w ten sposób
A[0].z=A[0].x-A[0].y-A[1].y-A[2].y;
tj. od wartości z ma być odejmowana wartość y dopóki, dopóty znowu x nie będzie większy od 0… problem jest tutaj jak się odwołać w obiekcie A[0], ponieważ tylko w tym obiekcie ma być liczona to wartość, a w obiektach A[1] i A[2] już ma to nie następować, jak się odwoływać w funkcji wywoływanej jedynie w A[0] do zmiennych kolejnych dwóch obiektów ?
funkcją musiałbym wywoływać z wartością pobraną dla zmiennej x i tylko póki x dla obiektu n+1 równy 0 wykonywać żadane obliczenia
generalnie problem jest w tym, jak się w jednym obiekcie odwolywać do obiektów tej samej klasy, ale o innych indeksach ?
prosiłbym o w miarę zrozumiałe i proste rozwiązanie, nie chciałbym się znowu zniechęcić - zwłaszcza, że programuję tylko w wolnym czasie - tj. jako hobby xD
Nie rób tablicy tylko listę dwukierunkową, przykład w moim poście wyżej, ten z:
class Stan
class Tydzien:public Stan
class Plan:public Stan