-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuilder.cc
More file actions
53 lines (43 loc) · 1.26 KB
/
Copy pathbuilder.cc
File metadata and controls
53 lines (43 loc) · 1.26 KB
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
49
50
51
52
53
#include<iostream>
#include <map>
using namespace std;
class Bread {
public:
void powder(string powder) {bread["powder"] = powder;}
void water(string water) { bread["water"] = water; }
void bake(string bake) { bread["bake"] = bake;}
void juice(string juice) { bread["juice"] = juice; }
void getBread() {
for(auto it=bread.begin(); it != bread.end(); it++ ) {
cout << it->first << ":" << it->second << endl;
}
}
protected:
map<string, string> bread;
};
class FrechBread:public Bread {
public:
void powder(string powder) { bread["powder"] = "french " + powder;}
void water(string water) { bread["water"] = "french" + water;}
void bake(string bake) { bread["bake"] = "french " + bake;}
void juice(string juice) { bread["juice"] = "french " + juice;}
};
class Bakery {
public:
void setBread(Bread* b) {_b = b;}
void cook(string powder, string water, string bake, string juice) {
_b->powder(powder);
_b->water(water);
_b->bake(bake);
_b->juice(juice);
}
private:
Bread* _b;
};
int main() {
Bakery b;
Bread* fb = new FrechBread();
b.setBread(fb);
b.cook("high tense powder", "clean water", "low tempreture", "apple juice");
fb->getBread();
}