/*
*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:郭永恒
*完成日期:2016年5月3日
*版 本 号:v1.0
*
*问题描述:根据类图,定义各个类,并测试
*/
类:
#include <iostream>
#include <string>
using namespace std;
class Person
{
public:
Person(int n = 0, string nam = " "):age(n),name(nam){}
void action(){cout << name << " " << age << endl;};
string getName(){return name;}
private:
int age;
string name;
};
class Polic:public Person
{
public:
Polic(int n = 0, string nam = " ", int lev = 0):Person(n,nam),level(lev){}
void arrest(Person &person){cout << person.getName() << " were arrested by police officer " << this->getName() << endl;}
private:
int level;
};
class Cook:public Person
{
public:
Cook(int n = 0, string nam = " ", double sal = 0):Person(n,nam),salary(sal){}
string getCake(){return "ok";}
private:
double salary;
};
测试:
int main()
{
Person p(20,"Jack");
p.action();
Polic po(20,"Marry",2);
po.arrest(p);
Cook c(20,"Bob",5000);
cout << c.getCake() << endl;
return 0;
}
运行结果: