• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Klasa zapewniajaca stan poczatkowy aplikacji.

+1 głos
456 wizyt
pytanie zadane 30 grudnia 2016 w C i C++ przez sh1nen Obywatel (1,570 p.)
Witam, z związku z projektem na zajęcia, pracuję nad aplikacją imitującą wypożyczalnię pojazdów, w wymaganiach do zadania jest użycie tzw. klasy zaslepkowej dostarczającej stan początkowy aplikacji, a mianowicie utworzenie 10 obiektów Klientów oraz 5 obiektów Pojazdów. Całą implementację klasy zarządzającej tymi obiektami udało mi się zaimplementować, natomiast nie mam pojęcia jak taka klasa zaslepkowa mogłaby dostarczyć obiekty którymi mógłbym dalej zarządzać w przebiegu aplikacji.

Czy dana klasa jako atrybuty miałaby np. tablicę danych obiektów, czy powinno wyglądać to zupełnie inaczej ? W internecie nie natrafiłem na żaden artykuł, który mógłby mnie jakoś nakierować na rozwiązanie problemu, dlatego postanowilem pytanie skierowac na forum.
komentarz 30 grudnia 2016 przez adrian17 Mentor (355,180 p.)

a mianowicie utworzenie 10 obiektów Klientów oraz 5 obiektów Pojazdów

Też nie rozumiem. To brzmi jak pojedyncza funkcja.

komentarz 30 grudnia 2016 przez sh1nen Obywatel (1,570 p.)

Mam napisac oddzielna klase ktora dostarczy juz skonstruowane obiekty odpowiednimi wartosciami dla klasy Managera w ktorym mam przeprowadzic jakas podstawowa symulacje na nich. Mialem zamysl aby wczytywac ich skladowe z pliku,do konstruktorow, natomiast nie za bardzo umiem sobie wyobrazic jak moglbym po utworzeniu danych obiektow w klasie zaslepkowej miec do nich dostep z Managera, aby np. odpowiedni obiekt Klienta i Pojazdu przekazac do metody i utworzyc z nich Wypozyczenie, ktore mam zdefiniowane nastepujaco:

//deklaracja wyprzedzajaca
class Vehicle;
class Client;

class Rental
{
    private:
        boost::uuids::uuid UUID;
        int daysOfRent;
        double costOfRent;
        boost::posix_time::ptime date_start;
    public:
        boost::posix_time::ptime date_end;
        Vehicle* vehicle;
        Client* client;

        Rental();
        Rental(double costOfRent, Vehicle* vehicle, Client* client);
        double getCostOfRent();
        int getDaysOfRent() const;
        std::string getStartDate() const;
        std::string getEndDate() const;
        std::string getUUID() const;
        std::string showDetails() const ;
        virtual ~Rental();

 

3 odpowiedzi

0 głosów
odpowiedź 30 grudnia 2016 przez playerony Pasjonat (15,200 p.)
Nie wiem czy dobrze zrozumiałem, ale powinno wystarczyć przekazanie referencji do jednego obiektu, a nie całej tablicy. Jeżeli zaś chodzi o ustalanie wartości to można dokonać tej czynności w konstruktorze domyślnym. Potem jak Ci się zachce to możesz modyfikować wybrane wartości obiektów przez settery.
0 głosów
odpowiedź 31 grudnia 2016 przez Piter10p Bywalec (2,750 p.)
class Start
{
    void generowanie(Vector<Samochody>*auta )
    {
        //kawałek kodu randomujący dane pętli 

        PętlaJakaJestDlaCiebieOdpowiednia()
        {
             //kawałek kodu randomujący dane auta
            Samochód auto(dane);
            auta->push(auto)
        }
    }
};

Jakoś tak to można zrobić.

Wybacz jeżeli kod nie poprawny składniowo. Nie dość że nie jestem przy kompilatorze, piszę z telefonu, to przed chwilą wstałem :)

Pozdrawiam

0 głosów
odpowiedź 1 stycznia 2017 przez morele123 Gaduła (4,790 p.)
Chodzi ci o to że masz klasę i chcesz jej nadać wartości początkowe, domyślne? Jak tak to użyj do tego konstruktora.

Podobne pytania

0 głosów
1 odpowiedź 361 wizyt
pytanie zadane 18 sierpnia 2020 w JavaScript przez rob Bywalec (2,440 p.)
0 głosów
2 odpowiedzi 2,114 wizyt
pytanie zadane 4 października 2018 w Sprzęt komputerowy przez ServeQ Początkujący (300 p.)
0 głosów
1 odpowiedź 1,774 wizyt

93,741 zapytań

142,676 odpowiedzi

323,294 komentarzy

63,323 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...