您好,欢迎来到好走旅游网。
搜索
您的当前位置:首页实验六113200880200010王浩文

实验六113200880200010王浩文

来源:好走旅游网
实验六

113200880200010

王浩文

5、声明一个哺乳动物Mammal类,再由此派生出狗Dog类,二者都定义Speak( )成员函数,基类中定义为虚函数。声明一个Dog类的对象,调用Speak()函数,观察运行结果。 程序:

#include using namespace std; class Mammal { public:

Mammal() {cout<<\"call Mammal\"<virtual void speak() {cout<<\" call base class\"<class Dog :public Mammal { public:

Dog() {cout<<\"call Dog\\n\"; }

void speak() {cout<<\"call Dog class\\n\"; } };

void main() { Mammal a; a.speak(); Dog b;

b.speak(); }

答:

程序的运行结果应该是先调用Mammal累的构造函数,输出: call Mammal

然后a.speak();调用Mammal中的speak函数,输出: call base class

接着调用Dog类,先对其父类Mammal进行析构,输出: call Mammal

然后再对Dog进行析构,输出: call Dog

接着执行Dog中的speak函数,输出: call Dog class

程序运行结果为:

6、定义一个从正方体、球体和圆柱体的各种运算中抽象出一个公共基 container类,在其中定义表面积和体积的纯虚函数,在抽象类中定义一个公共的成员数据radius,此数据可作为球体的半径,正方形的边长,圆柱体的底面的半径。

分析:

定义一个派生于container类的正方体类cube,在类中都具有求表面积的和体积的重定义的成员函数。

定义一个派生于container类的球体类sphere,在类中都具有求表面积和体积的重定义的成员函数。

定义一个派生于container类的圆柱体类cylinder,在类中都具有求表面积和体积的重定义的成员函数。 答案:

#include using namespace std; #define PI 3.14

class container {

public:

double radius; ~container() {}

virtual void squir()=0;

virtual void volume()=0; };

class cube :public container {

public:

cube(double a1) ~cube() {} void squir() { }

double a2;

a2=radius*radius*6;

cout<<\"正方体的面积是: S=\"<{radius=a1;}

};

void volume() { }

double a3;

a3=radius*radius*radius;

cout<<\"正方体的体积是: V=\"<class sphere :public container {

public: sphere(double b1) {radius=b1;} };

class cylinder :public container {

private: double h; public:

cylinder(double c1, double h1) ~cylinder() {} void squir() { }

void volume() {

double c3;

c3=radius*radius*PI*h; double c2;

c2=radius*radius*PI*2+radius*2*PI*h;

cout<<\"圆柱体的面积是: S=\"<{radius=c1;h=h1;}

~sphere() {} void squir() { }

void volume() { }

double d3;

d3=radius*radius*radius*PI*4/3;

cout<<\"球体的体积是: V=\"<double b2;

b2=radius*radius*4*PI;

cout<<\"球体的面积是: S=\"<cout<<\"圆柱体的体积是: V=\"<} };

main() {

cube cu(2.0);

cout<<\"正方体的边长l=2\"<cout<<\"球体的半径r=2\"<cylinder cy(2,3);

cout<<\"圆柱的底面半径r=2,高h=3\"<}

运行结果:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务