-
Notifications
You must be signed in to change notification settings - Fork 0
/
CarRentalManagement.h
48 lines (36 loc) · 1.16 KB
/
CarRentalManagement.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
#include "Car.h"
#include "Customer.h"
#include "RegularCustomer.h"
#include "CorporateCustomer.h"
#include "VIPCustomer.h"
#include <vector>
using namespace std;
class CarRentalManagement{
public:
CarRentalManagement();
~CarRentalManagement();
void addCar(Car);
void removeCar(int);
void printInventory(); //To help keep track of cars in inventory and their status
void addCustomer(RegularCustomer&);
void addCustomer(CorporateCustomer&);
void addCustomer(VIPCustomer&);
void removeCustomer(unsigned);
void printCustomer(unsigned); //To help keep track of a single customer
void printCustomerList(); //To help keep track of customers and their status
void rentCar(int, string);
void returnCar(int);
void returnCar(int, int);
int getPrivileges(unsigned);
void changePrivileges(int, int, int);
bool isCarRented(Car);
bool hasCustomerRented(Customer*);
string customerType(Customer*);
void carTypesRentedByCustomerOfCompany(Customer*, string);
private:
vector <Car> inventory;
vector <Customer*> customerList;
//NECESSARY????
void findCustomer(Customer*) const;
void checkCarPresentInInventory(Car) const;
};