Wykorzystanie konstruktorów klasy zaprzyjaźnionej w innej klasie
Ostatnio zmodyfikowano 2018-01-11 23:40
YooSy |
» 2018-01-11 04:26:46 W chwili niszczenia obiketu Samochód, wywołają się destruktory w odwrotnej kolejności do użycia konstruktorów, w traktacie tworzenia. Kolejność konstruktorów jest zdeterminowana kolejnością pól klasy, a nie kolejnością wywołań w liście inicjalizacyjnej. Pusty nie będzie bo muszę odjąć ilośćSamochodow o 1, ponieważ posiadam zmienne globalne służące do zliczania obiektów danych klas. I jak będzie to działać |
W tej sytuacji masz kilka możliwości, a najlepszą będzie pole statyczne. Natomiast obsługa dtorem zależy jak będą usuwane auta z listy, czy będzie mozna na bieżąco sprawdzić długość listy itd. Wszystko zależy od wytycznych i sposobu przechowywania bazy. |
|
155178 Temat założony przez niniejszego użytkownika |
» 2018-01-11 22:27:47 A w jaki sposób zbudować cctor dla Samochod? Tutaj aktualna klasa Samochod : #include"Silnik.h" #include"Kolo.h" #include"DodatkoweWyposazenie.h" #include"LiczbaObiektow.h" #define nkol 4 #define nwyp 5 using namespace std;
class Samochod { Silnik silnik; Kolo kola[ nkol ]; string nazwa; DodatkoweWyposazenie * wyposazenie[ nwyp ]; int lw = 0; explicit Samochod( string nazwa, int moc, int liczbaCylindrow, int rozmiarKol ); public: static Samochod * dajWzorzec( string nazwa, int rozmiar, int moc, int liczbaCylindrow ); void wyswietlSpecyfikacje(); void dodajWyposazenie( DodatkoweWyposazenie * wyposazenie ); Samochod(); ~Samochod(); };
Mógłby ktoś napisać mi jak wyglądać będzie Samochod(const Samochod &samochod)? Bo do nazwy łatwo się dostać i będzie wyglądać jakoś tak : Samochod(const Samochod &samochod) { nazwa=samochod.nazwa; ??????????????????? ??????????????????? } Ale co z silnikiem oraz kolami i dodatkowym wyposazeniem? Jak je przekopiować? |
|
pekfos |
» 2018-01-11 22:56:48 Samochod( const Samochod & sam ) : nazwa( sam.nazwa ) { } |
|
155178 Temat założony przez niniejszego użytkownika |
» 2018-01-11 23:40:29 Dziękuję bardzo. Zgadza się. |
|
1 2 3 4 « 5 » |