Summary Files Commits Branches @commit @diff @stats
path: root / Year 1 / Object-oriented Programming / Solutions Sem. 08 / ex3 / source.cpp
blob: 265f92699e02d52cc30229525dfae53bac714081 (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "WordCollection.h"
#include <iostream>

int main() {
	WordCollection dict1, dict2, dict3, dict4;
	((dict1 *= "Apple") *= "Banana") *= "Cucumber";
	((((dict2 *= "Orange") *= "Apple") *= "A big Kiwi") *= "Pineapple") *= "Remove";
	dict3 *= "Pineapple";
	dict2 /= "Remove";

	std::cout << dict1 << std::endl << dict2 << std::endl << dict3 << std::endl << dict4 << std::endl;

	WordCollection sum1;
	sum1 += dict4;
	sum1 += dict2 + dict4 + dict1;
	sum1 += sum1;
	sum1 += sum1 + sum1 + sum1 + sum1;
	std::cout << sum1 << std::endl << std::endl; // {A big Kiwi, Apple, Banana, Cucumber, Orange, Pineapple}

	WordCollection sub1;
	sub1 = sum1;
	sub1 -= dict2 - dict4 - dict1;
	std::cout << sub1 << std::endl; // {Apple, Banana, Cucumber}
	WordCollection sub2(sub1);
	sub1 -= sub1;
	std::cout << sub1 << std::endl; // {}
	sub1 = sub2;
	std::cout << sub1 << std::endl; // {Apple, Banana, Cucumber}
	sub1 -= sub1 - sub1;
	std::cout << sub1 << std::endl; // {Apple, Banana, Cucumber}
	(((((sub1 *= "Not a Pineapple") *= "Apple") *= "Dragon fruit") /= "Apple") /= "Banana") *= "Lettuce";
	std::cout << sub1 << std::endl << std::endl; // {Cucumber, Dragon fruit, Lettuce, Not a Pineapple}



	std::cout << dict1["Apple"] << dict2["Apple"] << dict3["Apple"] << sub1["Apple"] << std::endl; // 1100
	std::cout << dict1[""] << dict2[""] << dict4[""] << sub1[""] << std::endl << std::endl; // 0000

	((dict1 /= "Apple") /= "Cucumber") /= "Orange";
	std::cout << dict1 << std::endl << std::endl; // {Banana}

	std::cin >> dict1; // "A test"
	std::cout << dict1 << std::endl; // {A test, Banana}
}