- /*
- *Copyright(c)2016,烟台大学计算机与控制工程学院
- *All rights reserved
- *文件名称:123.cpp
- *作 者:隋宗涛
- *完成日期:2016年5月10日
- *版 本 号:v1.0
- *
- *问题描述:根据类图,定义各个类。
- */
- #include <iostream>
- using namespace std;
- class Person
- {
- public:
- Person(int a, string n):age(a),name(n){};
- void action();
- string getName()
- {
- return name;
- }
- private:
- int age;
- string name;
- };
- void Person::action()
- {
- cout<<" "<<name<<" does a act"<<endl;
- }
- class Police: public Person
- {
- public:
- Police(int a, string n, int l);
- void arrest(Person);
- private:
- int level; //级别
- };
- Police::Police(int a, string n, int l):Person(a,n),level(l) {}
- void Police::arrest(Person p)
- {
- cout<<" Police "<<getName()<<" arrest " <<p.getName()<<endl;
- }
- class Cook: public Person
- {
- public:
- Cook(int, string, double);
- void getCake(int,Person);
- private:
- double salary; //薪水
- };
- Cook::Cook(int a, string n, double s):Person(a,n),salary(s) {}
- void Cook::getCake(int n,Person p)
- {
- action();
- cout<<" Cook "<<getName()<<" gave " <<p.getName()<<" "<<n<<" cakes."<<endl;
- }
- int main()
- {
- Person Jason(120,"Jason");
- Police King(30,"King",2);
- Cook Bob(24,"Bob",5000);
- King.arrest(Jason);
- Bob.getCake(5,Jason);
- return 0;
- }
/* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年5月7日 *版 本 号:v1.0 * *问题描述:根据类图,定义各个类。 */ #include <iostream> using namespace std; class Person { public: Person(int a, string n):age(a),name(n){}; void action(); string getName() { return name; } private: int age; string name; }; void Person::action() { cout<<" "<<name<<" does a act"<<endl; } class Police: public Person { public: Police(int a, string n, int l); void arrest(Person); private: int level; //级别 }; Police::Police(int a, string n, int l):Person(a,n),level(l) {} void Police::arrest(Person p) { cout<<" Police "<<getName()<<" arrest " <<p.getName()<<endl; } class Cook: public Person { public: Cook(int, string, double); void getCake(int,Person); private: double salary; //薪水 }; Cook::Cook(int a, string n, double s):Person(a,n),salary(s) {} void Cook::getCake(int n,Person p) { action(); cout<<" Cook "<<getName()<<" gave " <<p.getName()<<" "<<n<<" cakes."<<endl; } int main() { Person Jason(120,"Jason"); Police King(30,"King",2); Cook Bob(24,"Bob",5000); King.arrest(Jason); Bob.getCake(5,Jason); return 0; }
运行结果: