牧场主与猎户的故事

来源:互联网 发布:知肤泉水光面膜怎么用 编辑:程序博客网 时间:2024/05/16 01:20
牧场主与猎户的故事
要说服一个人,最好的办法是为他着想,让他也能从中受益。
一个牧场主人养了许多羊。他的邻居是个猎户,院子饲养了一群凶猛的猎狗。这些猎狗经常跳过栅栏,袭击牧场里的羔羊。
牧场主人几次请猎户把狗关好,但猎户不以为然,口头上答应,可没过几天,他家的猎狗又跳进牧场横冲直闯,咬伤了好几只小羊。
忍无可忍的牧场主人找镇上的法官评理。听了他的控诉,明理的法官说:“我可以处罚那个猎户,也可以发布法令让他把狗锁起来。但这样一来你就失去了一个朋友,多了一个敌人。你是愿意和敌人作邻居呢?还是和朋友作邻居?”
“当然是和朋友作邻居。”牧场主人说。
“那好,我给你出个主意,按我说的去做。不但可以保证你的羊群不再受骚扰,还会为你赢得一个友好的邻居。”
法官如此这般交代一番。牧场主人连连称是。
一到家,牧场主人就按法官说的挑选了3只最可爱的小羔羊,送给猎户的3个儿子。看到洁白温顺的小羊,孩子们如获至宝,每天放学都要在院子与小羔羊玩耍嬉戏。因为怕猎狗伤害到儿子们的小羊,猎户做了个大铁笼,把狗结结实实的锁了起来。
从此,牧场主人的羊群再也没有受到骚扰。为了答谢牧场主人的好意,猎户开始送各种野味给他,牧场主人也不时用羊肉和奶酪回赠猎户,渐渐地两人成了好朋友。
要说服一个人,最好的办法是为他着想,让他也能从中受益。
现实世界中有太多的事情就像牢固的大山一样,是我们无法改变的,或至少是暂时无法改变的。如果事情无法改变,我们就改变自己。如果无法说服他人,是因为自己还不具备足够的说服力;如果别人不喜欢自己,是因为自己还不够让人喜欢;如果我们还无法成功,是因为我们自己暂时没有找到成功的方法。想要事情改变,首先得改变自己。只有改变自己,才会最终改变别人;只有改变自己,才可以最终改变属于自己的世界。
故事梗概:
1. 背景:牧场主人养了许多羊,邻居猎户饲养了一群凶猛的猎狗。
2. 经过:
(1)猎狗经常袭击牧场里的羔羊。
(2) 牧场主人几次请猎户把狗关好(假定3~5次),但猎户不以为然,没几天,猎狗又咬伤了几只小羊(2~3只)。
3. 起诉:忍无可忍的牧场主人找镇上的法官评理。
4. 调解:让牧场主人挑选3只最可爱小羔羊,送给猎户3个儿子。
5. 效果:
(1)看到小羊,孩子们如获至宝,每天放学与小羔羊玩耍嬉戏。
(2)怕猎狗伤害到儿子们的小羊,猎户做大铁笼把狗锁起来。
(3) 牧场主人的羊群再也没有受到骚扰。
(4)为了答谢牧场主人,猎户送野味给他,牧场主人也羊肉和奶酪回赠猎户。
6. 结论:渐渐两人成了好朋友。
请用C++面向对象方法编写一个程序,体现以上6步的故事梗概。要求:(1)类的个数不少于5个;(2)要用到继承和多态;(3)体悟故事中的人生哲理。
#include<iostream>#include<string>using namespace std;class People//基类 为下面类起作用 {public:People(string n,char s,int a):name(n),sex(s),age(a){}string GetPeoplename()//返回人的名字{return name; } char GetPeoplesex()//返回人的性别 {return sex;}int GetPeopleage()//返回人的年龄 {return age;}private:string name;//人的姓名 int age;//人的年龄 char sex;//人的性别 }; class Shepherd:public People{public:Shepherd(string n,char s,int a,int num,int meate=10,int cheese=10):People(n,s,a),sheepnum(num),sheepmeate(meate),sheepcheese(cheese){}int Getsheepnum(){return sheepnum;}void Hurtsheep(int num);//狗伤害羊的数 void print_shepherd();  //打印牧羊人的数据 void ShepherdsendFood();private:int sheepnum; // 养的个数 int sheepmeate;//羊肉 int sheepcheese; //奶酪 }; void Shepherd::Hurtsheep(int num) //狗伤害羊函数{sheepnum-=num; } void Shepherd::print_shepherd(){cout<<"牧羊人的信息:"<<endl;cout<<"姓名:"<<GetPeoplename()<<endl;cout<<"性别:"<<GetPeoplesex()<<endl;cout<<"年龄:"<<GetPeopleage()<<endl;cout<<"养的羊数:"<<sheepnum<<endl;cout<<"羊产生的羊肉数:"<< sheepmeate<<endl;cout<<"羊产生的奶酪数:"<<sheepcheese<<endl;}void Shepherd::ShepherdsendFood(){sheepmeate-=5;sheepcheese-=5;}class Hunter:public People// 猎人类{public:Hunter(string n,char s,int a,int p,int d):People(n,s,a),prey(p),dogs(d){}void Dog_sheep();//狗袭击牧羊人家的羊int Getprey(){return prey;} void print_Hunter();friend void Calljudge();void Huntertie_dogs();void Hunter_sendfood(); private:int prey;//猎人打得猎物数int dogs;//猎人养的狗 }; void Hunter::print_Hunter(){cout<<"猎人的信息"<<endl;cout<<"姓名:"<<GetPeoplename()<<endl;cout<<"性别:"<<GetPeoplesex()<<endl;cout<<"年龄:"<<GetPeopleage()<<endl;cout<<"打得猎物"<<prey<<endl;cout<<"养的狗"<<dogs<<endl;}void Hunter::Huntertie_dogs(){cout<<"猎人"<< GetPeoplename()<<"将狗关进了笼子"<<endl;}void Hunter::Hunter_sendfood(){prey-=5;}class Hunterson:public Hunter{public:Hunterson(string n,char s,int a,int p,int d):Hunter(n,s,a,p,d){}void Hunterson_playsheep();};void Hunterson::Hunterson_playsheep(){cout<<"猎人的儿子"<<GetPeoplename()<<"得到小羊"<<endl; }class Judge:public People{public:Judge(string n,char s,int a):People(n,s,a){}friend void Calljudge();void display(Shepherd &s);};void Judge::display(Shepherd &s){cout<<"法官的信息"<<endl;cout<<"法官的姓名:"<<GetPeoplename()<<endl;cout<<"法官的性别:"<<GetPeoplesex()<<endl;cout<<"法官的年龄:"<<GetPeopleage()<<endl;cout<<"法官叫牧羊人把三只小羊给猎人的儿子"<<endl;s.Hurtsheep(3);}void Calljudge(Shepherd &s){cout<<"牧羊人"<<s.GetPeoplename()<<"将猎人的狗袭击他家的羊这件事告诉法官"<<endl;}void operation(People &s)//子类通过引用的方式赋值给父类变量,子类可以调用父类的函数 {cout<<"狗伤害"<<s.GetPeoplename()<<"家的小羊"<<endl; }int main(){cout<<"故事开始:"<<endl;cout<<"牧羊人养了很多羊,他的邻居养了一些狗"<<endl;cout<<endl;Shepherd s("zhangsan",'M',45,100);s.print_shepherd();cout<<"牧羊人拥有猎物0只"<<endl; cout<<endl;Hunter h("wangwu",'M',45,10,10);h.print_Hunter();cout<<endl;operation(s);s.Hurtsheep(1);//第一次,伤了1只羊cout<<"狗第一次伤了一只羊还有"<<s.Getsheepnum()<<"羊"<<endl;s.Hurtsheep(2);//第二次伤了2只羊cout<<"狗第二次伤了二只羊还有"<<s.Getsheepnum()<<"羊"<<endl;s.Hurtsheep(3);//第3次伤了3只羊cout<<"狗第3次伤了3只羊还有"<<s.Getsheepnum()<<"羊"<<endl;cout<<endl; Calljudge(s);Judge j("lisi",'M',34);j.display(s);cout<<endl;Hunterson son1("wangyi",'M',10,0,10);Hunterson son2("wanger",'M',9,0,10);Hunterson son3("wangsan",'M',8,0,10);son1.Hunterson_playsheep();son2.Hunterson_playsheep();son3.Hunterson_playsheep();cout<<endl;h.Huntertie_dogs();cout<<endl;cout<<"牧羊人的羊没有被袭击了,还有"<<s.Getsheepnum()<<endl;cout<<endl;cout<<"牧羊人和猎人复换食物"<<endl;cout<<"最后牧羊人和猎人的信息是"<<endl;s.ShepherdsendFood();h.Hunter_sendfood();s.print_shepherd();h.print_Hunter();cout<<endl; return 0;}


1 0
原创粉丝点击