Summary Files Commits Branches @commit @diff @stats
path: root / Year 1 / Object-oriented Programming / Exam 2 Preparation / Vehicle.h
blob: d0521625702970bfb449c13c99333f1e02218c87 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef HEADER_VEHICLE
#define HEADER_VEHICLE

#include "String.h"
#include "Road.h"

class Vehicle {
	String brand;
	unsigned maxSpeed;

public:
	Vehicle(const String& brand, unsigned maxSpeed);

	unsigned getMaxSpeed() const;
	virtual unsigned getSpeedOnRoad(Road road) const = 0;

	virtual Vehicle* clone() const = 0;
	virtual ~Vehicle();
};

#endif