nie wiem, znam po prostu zasade ze jak nie ma w biletomacie normalnych to jak kupie i skasuje 2 ulgowe to sie liczy jakbym miał normalny :) Mozna taki myk zastować w programie, przecież nie musi być to w 100% idealne merytorycznie ;D
Wersja do druku
Co to ma za znaczenie? Po dodaniu do siebie dwoch biletów przez operator , zmienia się typ wewnętrzny jednego biletu i zwracany jest ten obiekt. Easy.
Co do dodawania biletów to wkurwiłbym sie, gdyby zamiast dwóch ulgowych z automatu wyleciał mi jeden cały ;d
Dla mnie wciskanie przeciążania operatorów na siłę jest bez sensu.
jak to jest z konstruktorami klas pochodnej?
bo powiedzmy mam 2 pola klasy głównej
konstruktor wygląda tak:Cytuj:
int cena
int ilosc
i gdy tworzę nowy obiekt robię to np tak:Cytuj:
Ticket::Ticket(double p,double d)
{
price=p;
discount=d;
}
I mam już nowy obiekt o podanych parametrach.Cytuj:
Ticket obiekt1(5,10)
Jednak jak sobie poradzić z tworzeniem obiektów klas pochodnych?
Jeśli dojdzie mi kolejne pole w klasie pochodnej to jak będzie wyglądał konstruktor w klasie pochodnej?
lista inicjalizacyjna: wpisujesz do niej chyba wywołanie konstruktora klasy bazowej w tym wypadku, chociaż ni kij ni epamiętam nawet gdzie mam takie kody :D
poszperałem trochę i chyba wiem jak ale sprawdzi ktoś czy mam to dobrze?
w klasie pochodnej deklaruje? konstruktor z listą inicjacyjną:
w klasie, w pliku Single.h daje:
a w pliku Single.cppCytuj:
Single(double p,double d,double v);
Cytuj:
Single::Single(double p,double d,double v)
:Ticket(p,d)
{
vaild_time=v;
}
Czy to jest dobrze? Czy jeśli stworzę obiekt klasy single podając 3 parametry to czy zostanie wywołany konstruktor klasy bazowej i dodatkowo w tym obiekcie stowrzone zostanie jeszcze trzecie pole z klasy pochodnej?
w zasadzie od razu mógłbyś resztę walnąc do listy inicjalizacyjnej, ale z tego co pamiętam to jest si
Obiekty (klas pochodnych) w c++ są tworzone w poniższej kolejnosci:
1. klasy bazowe dziedziczone virtualnie
2. "normalne" klasy bazowe
3. pola
4. konstuktor klasy pochodnej
EDIT:
Tu masz przykład: http://ideone.com/2Lqz55
a mam pytanie co do tworzenia menu (to bedzie w formie apalikacji konsolowej)
Jak je zrobić czytelnie ?
bo chcę dać wybór:
Bilety jednorazowe
Bilety okresowe
a później różne typy biletów do wyboru.
Same wyświetlanie menu już zrobiłem jako funkcje więc w funkcji main wysiwetlnie menu zajmuje jedną linijkę kodu.
Ale ciągle bardzo chaotycznie to wygląda bo są tam 3 funkcje switch jedna w drugiej a do tego ciągle pobieranie decyzji od użytkownika. Jak zabrać się za takie coś aby było najbardziej przejrzyście, co zostawiać w funkcji main a co wyrzucać do funkcji zewnętrznych?
Niestety w konsoli to tak zawsze będzie wyglądać, z resztą w okienkowym wcale nie jest lepiej
ale serio się nie da wyrzucić jeszcze czegoś do funkcji tak aby po kawałku to wywoływać?
Funkcje switch musza/powinny byc wszystkie w main?
możesz sobie niby wrzucić menu do maina, do menu w każdym case dać podmenu w osobnych procedurach czy funkcjach, zależy od potrzeb, ale wiele to nie zmieni