-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTaxi.h
48 lines (42 loc) · 934 Bytes
/
Taxi.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//
// Benjy Berkowicz - 336182589
// Advanced Programming 2016-2017 Bar Ilan
//
#ifndef ADVANCED_EX2_TAXI_H
#define ADVANCED_EX2_TAXI_H
class Passenger;
class Listener;
class Driver;
#include <stack>
#include "Color.h"
#include "Passenger.h"
#include "CarMaker.h"
#include "Driver.h"
class Taxi {
private:
int id;
int odometer;
CarMaker manufacturer;
Color color;
Driver* driver;
Listener** listeners;
protected:
Passenger* passengers;
Point* location;
int tariff;
public:
Taxi(int, CarMaker, Color);
Color getColor();
CarMaker getManufacturer();
int getOdom();
int getID();
int getPrice();
Passenger* getPassenger();
void setPassenger(Passenger);
void setLocation(Point *);
virtual void move(std::stack<Point *> *) = 0;
void addListener(Listener*);
void removeListener(Listener*);
void setDriver(Driver *);
};
#endif //ADVANCED_EX2_TAXI_H