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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| #include <bits/stdc++.h> using namespace std;
class Actor { public: virtual void show() const = 0; }; class God; class Monster; class God : public Actor { private: string Name; string Place; int Power;
public: God(string n, string p, int po); void show() const { cout <<Place<<","<<Name; } int operator-(const Monster &yg) const; }; class Monster : public Actor { private: string Name; string Prototype; int Power;
public: void set(string n, string p, int po); void show() const { cout<<Name<<"whose Prototype is"<<Prototype; } friend class God; };
int main() { string n, p; int po, s; cin >> n >> p >> po; God g(n, p, po); cin >> n >> p >> po; Monster m; m.set(n, p, po); s = g - m;
if (s > 0) { g.show(); cout << ">"; m.show(); } else if (s == 0) { g.show(); cout << "="; m.show(); } else { g.show(); cout << "<"; m.show(); } cout << endl; return 0; }
God::God(string n, string p, int po) : Name(n), Place(p), Power(po) { }
void Monster::set(string n, string p, int po) { Name = n; Prototype = p; Power = po; }
int God::operator-(const Monster &yg) const { return this->Power - yg.Power; }
|