Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wykorzystanie konstruktorów klasy zaprzyjaźnionej w innej klasie

Ostatnio zmodyfikowano 2018-01-11 23:40
Autor Wiadomość
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.
P-168620
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 :
C/C++
#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(const Samochod &samochod);
    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ć? 
P-168640
pekfos
» 2018-01-11 22:56:48
C/C++
Samochod( const Samochod & sam )
    : nazwa( sam.nazwa ) //itd wszystko tak samo jak w zwykłym konstruktorze..
{
}
P-168645
155178
Temat założony przez niniejszego użytkownika
» 2018-01-11 23:40:29
Dziękuję bardzo. Zgadza się.
P-168650
1 2 3 4 « 5 »
Poprzednia strona Strona 5 z 5