/*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:刘涛 * 完成日期:2016年5月7日 * 版本号:vc++6.0 * 问题描述:(1)根据下面的类图,定义各个类: 这里写图片描述。(图片见附件) 要求:各个成员函数,只要输出相关的信息即可, 暂不深究其业务功能请为各个类增加构造函 数在实现中,可以增加需要的其他函数自行 编制main函数,完成初步的测试。 */ #include<iostream> using namespace std; class Person { private: int age; string name; public: Person(int a,string nam):age(a),name(nam){} void action(); string getName() { return name; } }; void Person::action() { cout<<name<<"放了个屁"<<endl; }
</pre><pre class="cpp" name="code">
class Police: public Person { public: Police(int a, string n, int l):Person(a,n),level(l){} void arrest(Person); private: int level; }; void Police::arrest(Person p) { cout<<"police:"<<getName()<<"因为放屁抓捕了"<<p.getName()<<endl; }
</pre><pre class="cpp" name="code">
class Cook:public Person { public: Cook(int a,string n,double s):Person(a,n),salary(s){} void getCake(int); private: double salary; }; void Cook::getCake(int p1) { cout<<"cook:"<<getName()<<"做了"<<p1<<"个蛋糕"<<endl; }
</pre><pre class="cpp" name="code">
int main() { Person Love(27,"love"); Police James(31,"james",10); Cook Irving(24,"irving",500); Love.action(); James.arrest(Love); Irving.getCake(5); return 0; }
运行结果:
<img src="http://img.blog.csdn.net/20160507171220765?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
知识点总结:类的派生