代码:
/*
*Copyright (c) 2016, 烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp;
*作 者:岳成艳2016年5月18号;
*版 本 号:vc++6.0;
*
*问题描述:警察和厨师。
*程序输入:略;
*程序输出:略;
*/
#include<iostream>
#include<string>
using namespace std;
class Person
{
public:
Person(int a,string n);
void action();
string getname()
{
return name;
}
private:
int age;
string name;
};
Person::Person(int a,string n):age(a),name(n){};
void Person::action()
{
cout<<name<<"do some action!"<<endl;
}
class Polic: public Person
{
public:
Polic(int a,string n,int l);
void arrest(Person);
private:
int level;
};
Polic::Polic(int a,string n,int l):Person(a,n),level(l){};
void Polic::arrest(Person w)
{
cout<<"police "<<getname()<<" arrest"<<w.getname()<<endl;
}
class Cook: public Person
{
public:
Cook(int a,string nam,double s);
void getCake(int);
private:
double salary;
};
Cook::Cook(int a,string n,double s):Person(a,n),salary(s){};
void Cook::getCake(int n)
{
cout<<"cook "<<getname()<<"give her "<<n<<" a cake"<<endl;
}
int main()
{
Person s(20,"s");
Polic y(20,"y",2);
Cook sy(2,"ys",4000);
y.arrest(s);
sy.getCake(10);
return 0;
}
运行测试;