Summary Files Commits Branches @commit @diff @stats
path: root / Year 1 / Object-oriented Programming / Exam 2 / ex1 / CombinedTrip.h
blob: 77f709012ab4d50a76eb1825762e034d686ad8f4 (plain) (blame)
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
#ifndef HEADER_COMBINEDTRIP
#define HEADER_COMBINEDTRIP

#include "String.h"
#include "CarTravel.h"
#include "AirTravel.h"

class CombinedTrip {
	CarTravel carTravel;
	AirTravel airTravel;
	char** destinations; // цитирам "представя се чрез динамичен масив от низове от тип char*"
	unsigned destinationsCount;
	unsigned freeTime;

	void free();
	void copyFrom(const CombinedTrip& other);
public:
	CombinedTrip(RegNumb carRegNumb, unsigned carTravelDistance, unsigned carTravelDuration, const char* flightNumber, unsigned flightDuration, const char** destinations, unsigned destinationsCount, unsigned freeTime);

	unsigned getDuration() const;
	void print();

	CombinedTrip();
	CombinedTrip(const CombinedTrip& ct);
	CombinedTrip& operator=(const CombinedTrip& ct);
	~CombinedTrip();
};

#endif