forked from ucsb-cs24-w22/lab01_data
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcar.hpp
34 lines (31 loc) · 1.04 KB
/
car.hpp
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
#ifndef CAR_HPP
#define CAR_HPP
#include "perf.hpp"
#include "doors.hpp"
class Car{
private:
char* manufacturer;
char* model;
uint32_t zeroToSixtyNs;
float headonDragCoeff;
uint16_t horsepower;
DoorKind backseatDoors;
uint8_t seatCount;
public:
Car();
Car(char const* const manufacturerName, char const* const modelName, PerformanceStats perf, uint8_t numSeats, DoorKind backseatDoorDesign);
Car(Car const& o);
Car& operator=(Car const& o);
~Car();
char const* getManufacturer() const;
char const* getModel() const;
PerformanceStats getStats() const;
uint8_t getSeatCount() const;
DoorKind getBackseatDoors() const;
void manufacturerChange(char const* const newManufacturer);
void modelNameChange(char const* const newModelName);
void reevaluateStats(PerformanceStats newStats);
void recountSeats(uint8_t newSeatCount);
void reexamineDoors(DoorKind newDoorKind);
};
#endif //CAR_HPP