简单的C++题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

/*定义一个Dog类,包含age,weight等属性,以及对这些属性操作的方法。实现并测试这个类*/#includeiostreamusingnamespacestd;classDog{public:Dog(inta,intb){age=a;weight=b;}~Dog(){}intgetAge(){returnage;}intgetWeight(){returnweight;}voidsetAge(intage){this-age=age;}voidsetWeight(intweight){this-weight=weight;}private:intage,weight;};intmain(){Dogjack(2,10);coutjackisaDogwhois;coutjack.getAge()yearsoldandjack.getWeight()poundsweightendl;jack.setAge(7);jack.setWeight(20);coutNowjackis;coutjack.getAge()yearsoldandjack.getWeight()poundsweightendl;return0;}/*定义一个Circle类,有数据成员radius(半径)成员函数getArea(),计算圆的面积,构造一个Circle的对象进行测试。*/#includeiostreamusingnamespacestd;classCircle{public:Circle(floatradius){this-radius=radius;}~Circle(){}floatgetArea(){return3.14*radius*radius;}private:floatradius;};intmain(){floatradius;cout请输入圆的半径:;cinradius;Circlep(radius);cout半径为radius的圆的面积为:p.getArea()endl;return0;}/*定义一个Tree(树)类,有成员ages(树龄),成员函数grow(intyears)对ages加上years,age()显示tree对象的ages值。*/#includeiostreamusingnamespacestd;classTree{public:Tree(intages=0){this-ages=ages;}~Tree(){show();}voidgrow(intyears){ages+=years;}voidshow(){cout树的年龄为:agesendl;}private:intages;};intmain(){Treee1(10);e1.show();e1.grow(5);return0;}/*定义一个复数类Complex,使得下面的代码能够工作Complexc1(3,5);//用复数3+5i初始化c1Complexc2=4.5;//用实数4.5初始化c2c1.add(c2);//将c1与c2想加,结果保存在c1中c1.show();//将c1输出(这时的结果应该是7.5+5i)*/#includeiostreamusingnamespacestd;classComplex{public:Complex(doubler,doublei){real=r;image=i;}Complex(doubler){real=r;image=0;}voidshow(){coutreal+;coutimagei;coutendl;}voidadd(Complexc2){real+=c2.real;image+=c2.image;}private:doublereal;doubleimage;};intmain(){Complexc1(3,5);Complexc2(4.5);c1.show();c1.add(c2);c1.show();return0;}/*定义一个Cat类,拥有静态数据成员numOfCats记录Cat的个体数目,静态成员函数getNumOfCats()存取numOfCats,设计程序测试这个类,体会静态数据成员和静态成员函数的用法。*/#includeiostreamusingnamespacestd;classCat{public:Cat(intage){itsAge=age;numOfCats++;}virtual~Cat(){numOfCats--;}virtualintgetAge(){returnitsAge;}virtualvoidsetAge(intage){itsAge=age;}staticintgetNumOfCats(){returnnumOfCats;}private:intitsAge;staticintnumOfCats;};intCat::numOfCats=0;voidtelepathicFunction(){coutThereareCat::getNumOfCats()catsalive!\n;}intmain(){constintmaxCats=5;Cat*catHouse[maxCats];inti;for(i=0;imaxCats;i++){catHouse[i]=newCat(i);telepathicFunction();}for(i=0;imaxCats;i++){deletecatHouse[i];telepathicFunction();}return0;}/*在函数fn1()中定义一个静态变量nfn1()中对n的值加1,在主函数中,调用fn1()10次,显示n的值。*/#includeiostreamusingnamespacestd;voidfn1(){staticintn=0;n++;coutn的值为:nendl;}intmain(){inti;for(i=0;i10;i++)fn1();return0;}/*实现一个名为SimpleCircle的简单圆类其数据成员int*itsRadius为一个指向其半径的指针设计对数据成员的各种操作,给出这个类完整的实现并且测试这个类*/#includeiostreamusingnamespacestd;classSimpleCircle{public:SimpleCircle(){itsRadius=newint(5);}SimpleCircle(intradius){itsRadius=newint(radius);}SimpleCircle(constSimpleCircle&rhs){intval=rhs.getRadius();itsRadius=newint(val);}~SimpleCircle(){}intgetRadius()const{return*itsRadius;}private:int*itsRadius;};intmain(){SimpleCircleCircleOne,CircleTwo(9);coutCircleOne:CircleOne.getRadius()endl;coutCircleTwo:CircleTwo.getRadius()endl;return0;}/*定义一个Employee类,其中包括鞭尸姓名、地址城市、和邮编等属性,包括setName()和display()等函数。display()使用cout语句显示姓名、地址、城市和邮编等属性。函数setName()改变对象的姓名属性,实现并测试这个类。*/#includeiostream#includestringusingnamespacestd;classEmployee{private:charname[30];charstreet[30];charcity[15];charzip[15];public:Employee(char*n,char*s,char*c,char*z){strcpy(name,n);strcpy(street,s);strcpy(city,c);strcpy(zip,z);}voidsetName(char*n){strcpy(name,n);}voiddisplay(){coutname\tstreet\t;coutcity\tzipendl;}};intmain(){Employeee1(张三,平安大街,北京,100000);e1.display();e1.setName(李四);e1.display();coutendl;return0;}/*定义一个Shape,在此基础上派生出Rectangle和Circle,二者都有getArea()函数计算对象的面积。使用Rectangle类创建一个派生类Square。*/#includeiostreamusingnamespacestd;classShape{public:Shape(){}~Shape(){}virtualfloatgetArea(){return-1;}};classCircle:publicShape{public:Circle(floatradius):itsRadius(radius){}~Circle(){}floatgetArea(){return3.14*itsRadius*itsRadius;}private:floatitsRadius;};classRectangle:publicShape{public:Rectangle(floatlen,floatwidth):itsLength(len),itsWidth(width){};~Rectangle(){};virtualfloatgetArea(){returnitsLength*itsWidth;}virtualfloatgetLength(){returnitsLength;}virtualfloatgetWidth(){returnitsWidth;}private:floatitsLength;floatitsWidth;};classSquare:publicRectangle{public:Square(floatlen);~Square(){};};Square::Square(floatlen):Rectangle(len,len){}intmain(){Shape*sp;sp=newCircle(5);coutTheareaoftheCircleissp-getArea()endl;deletesp;sp=newRectangle(4,6);coutTheareaoftheRctangleissp-getArea()endl;deletesp;sp=newSquare(5);coutTheareaoftheSquareissp-getArea()endl;deletesp;return0;}/*定义一个哺乳动物类Mammal,再由此派生出Dog类,定义一个Dog类的对象,观察与派生类的构造函数的调用顺序Manmalconstructor...Dogconstructor...Mammalsound!Tailwagging...jackis1yearoldDogdestructor...Mammaldestructor...*/#includeiostreamusingnamespacestd;enummyColor{BLACK,WHITE};classMammal{public://constructorsMammal();~Mammal();//accesasorsintgetArea()const{returnitsAge;}void

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功