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

Programowanie obiektowe, metoda get

Object Storage Arubacloud
0 głosów
174 wizyt
pytanie zadane 31 stycznia 2017 w C i C++ przez student33 Początkujący (250 p.)

Witam serdecznie. Zwracam się o jak najszybszą pomoc, ponieważ dzisiaj muszę rozwiązać mój problem. Mianowicie. Piszę program, który ma być wypożyczalnią. Posiadam taką metodę:

void ManagerWypozyczen::wypozyczenie(int pojazdID, int klientID) {
    ManagerPojazdow *m;
    m = new ManagerPojazdow;
    Manager_Klientow *k;
    k = new Manager_Klientow;
    Pojazd *pojazd = m->getPojazd(pojazdID);
    Klient *klient = k->getKlient(klientID);
	WypozyczPojazd(pojazd,klient);
    delete m;
    delete k;
}

W momencie jej wywołania tworzą się obiekty dwóch managerów i wywołują się kolejno dwie metody getPojazd oraz getKlient. Do obu przekazuje wartość int. Prezentują się one tak:

Pojazd* ManagerPojazdow::getPojazd(int pojazdID){
    int error = 0;
   	vector<Pojazd*>::iterator i;
	for (i=pojazdy.begin(); i!=pojazdy.end();++i){
        if((*i)->Get_IDpojazdu() == pojazdID) {error = 1; break;}
    }
    if(error == 0){ cout << "POJAZD NIE ISTNIEJE" << endl;}
    else {return (*i);}
}

W tej metodzie wywołuje się jeszcze jedna, która powinna zwracać ID mojego pojazdu, który przypisuje się do pojazdu w konstruktorze, w momencie tworzenia obiektu.

int Pojazd::Get_IDpojazdu()
{
    return IDpojazdu;
}

W momencie uruchomienia programu i próby stworzenia wypożyczenia, ukazuje mi się komunikat "POJAZD NIE ISTNIEJE". Nie jest to prawdą, ponieważ gdy wywołam metodę wypisującą wszystkie utworzone pojazdy, to mi się pokazuje każdy wraz z numerem ID. Nie mogę dojść do tego, co w tej metodzie jest nie tak. Z góry dziękuję za szybką pomoc.

1 odpowiedź

0 głosów
odpowiedź 31 stycznia 2017 przez Bartłomiej Łaski Mądrala (5,100 p.)
Witam

Pokażesz class`e MenagerProjadow, chodzi mi dokladnie o plik nagłówkowy :)

Pozdrawiam :)
komentarz 31 stycznia 2017 przez student33 Początkujący (250 p.)
#ifndef MANAGERPOJAZDOW_H
#define MANAGERPOJAZDOW_H
#include <iostream>
#include <string>
#include <vector>
#include "Pojazd.h"
#include "Pojazd_silnikowy.h"
#include "Rower.h"
#include "Samochod.h"
#include "Motorower.h"

using namespace std;

class ManagerPojazdow
{
public:
    void DodajSamochod();
    void DodajSamochod(double CenaBazowa, double PojemnoscSilnika, string segment);
    void DodajRower();
    void DodajRower(double CenaBazowa);
    void DodajMotorower();
    void DodajMotorower(double CenaBazowa, double PojemnoscSilnika);
    void IloscPojazdowWBazie();
    void WypiszPojazdy();
    vector<Pojazd *> pojazdy;
    Pojazd* getPojazd(int pojazdID);
    void ZapiszPojazdy();
private:
    Pojazd* m_pojazd;


};

#endif /* MANAGERPOJAZDOW_H */

Pokażę wszystko co będzie potrzebne do rozwiązania problemu, ponieważ do wieczora muszę mieć skończony projekt, a utknąłem od wczoraj w tym miejscu :)

komentarz 31 stycznia 2017 przez Bartłomiej Łaski Mądrala (5,100 p.)
Mam na to pomysł, masz może jakiegos TS albo Discorda?

Ciekawe zagadnienie moge chyba cos pomoc :), bo ogolnie to powinno wygladac tak, ze masz jedna class pojazd, z niej wychodza odziedziczone klasy samochod, rower,motorower itd. Pozniej masz Class BazaPojazdow i ona powinna byc kolejka, ktora przechowuje wszystko stworzone pojazdy. Bo to jest takie troche masło maslane.
komentarz 31 stycznia 2017 przez student33 Początkujący (250 p.)
Pierwszy raz spotykam się z Discordem, ale po sprawdzeniu co to, wnioskuję że TS, to teamspeak, tak? :) To teamspeaka mam, mogę wejść.
Ale prawie że dokładnie tak to wygląda. Klasa pojazd, dziedziczace rower, motorower, samochod. Tylko nie mam klasy BazaPojazdow. "Bazą" nazywam po prostu wektor pojazdy, do ktorego dodaja sie wszystkie stworzone obiekty.

Podobne pytania

0 głosów
2 odpowiedzi 420 wizyt
pytanie zadane 22 grudnia 2016 w PHP przez dervil Gaduła (3,030 p.)
0 głosów
1 odpowiedź 2,392 wizyt
pytanie zadane 21 czerwca 2017 w JavaScript przez crova Użytkownik (940 p.)
0 głosów
2 odpowiedzi 312 wizyt
pytanie zadane 21 września 2017 w PHP przez mi-20 Stary wyjadacz (13,190 p.)

92,556 zapytań

141,404 odpowiedzi

319,562 komentarzy

61,942 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...