C++复习题(2015)(6)

2019-03-29 18:36

cout<<\

<<\

}

程序输出结果为:

a=200 b=30 *p=200 *q=30 ra=200

*rt=30

19.阅读以下程序,写出输出结果。 #include using namespace std; class Base1 { public : };

class Base2 { public:

Base2( int j ) { cout << \调用基类Base2的构造函数:\ Base1( int i ) { cout << \调用基类Base1的构造函数:\

<< endl ; }

<< endl ; }

};

class A : public Base1, public Base2 { public :

A( int a, int b, int c, int d ) : Base2(b), Base1(c), b2(a), b1(d)

{ cout << \调用派生类A的构造函数:\ private : Base1 b1 ; Base2 b2 ; } ; int main()

{ A obj( 1, 2, 3, 4 ); }

【解答】

调用基类BASE1的构造函数:3 调用基类BASE2的构造函数:2 调用基类BASE1的构造函数:4 调用基类BASE2构造函数:1 调用派生类A的构造函数:10

五、编程题

1、下列shape类是一个表示形状的抽象类,area( )为求图形面积的函数,total( )则是一个通用的用以求不同形状的图形面积总和的函数。请从shape类派生三角形类(triangle)、矩形类(rectangle),并给出具体的求面积函数 class shape{ public:

virtual float area( )=0; };

float total(shape *s[ ],int n) {

float sum=0.0;

for(int i=0;iarea( ); return sum; }

class Triangle:public Shape {

public:

Triangle(double h,double w){H=h;W=w;} double Area() const{return H*W*0.5;} private:

double H,W; };

class Rectangle:public Shape { public:

Rectangle(double h,double w){H=h;W=w;} double Area()const{return H*W;} private: double H,W; };

1. 定义一个Box(盒子)类,在该类定义中包括

数据成员: length(长)、width(宽)和height(高);

成员函数: 构造函数Box,设置盒子长、宽和高三个初始数据;用函数volume 计算并输出盒子的体积。

在main函数中,要求创建Box对象,并求盒子的体积。 【解答】

#include using namespace std; class BOX { public:

BOX( double l, double w, double h )

width = w; height = h; }

void volume()

}

private: }; int main()

{ BOX box1( 1,3,5 ); box1.volume(); BOX box2( 2,4,6 ); box2.volume(); }

2.定义一个复数类complex,实现复数 “+”运算。要求用重载成员函数的形式实现两个复数的实部相加和虚部相加。完成程序的编写。

#include using namespace std; class complex //复数类声明 { public:

//外部接口

complex(double r=0.0,double i=0.0){real=r;imag=i;} double length, width, height;

{ cout << \ { length = l;

complex operator + (complex c2); //+重载为成员函数 void display(); //输出复数 private:

//私有数据成员

double real; //复数实部 double imag;//复数虚部 };

complex complex:: operator +(complex c2) //重载函数实现 {

complex c; c.real=c2.real+real; c.imag=c2.imag+imag; return complex(c.real,c.imag); }

void complex::display()

{ cout<<\int main() //主函数

{ complex c1(5,4),c2(2,10),c3; //声明复数类的对象 cout<<\ cout<<\

c3=c1+c2; //使用重载运算符完成复数加法 cout<<\ c3.display();

}

4.定义一个Rectangle类,它包含两个数据成员length和width;以及包含用于求长方形面积的成员函数。再定义Rectangle的派生类Rectangular,它包含一个新数据成员height和用来求长方体体积的成员函数。在main函数中,使用两个类,求某个长方形的面积和某个长方体的体积。 【解答】

#include using namespace std; class rectangle { public:

rectangle( double l,double w ) { length = l;width = w; } double area()

{ return( length*width ); } double getlength() { return length; } double getwidth() { return width; } private: double length; double width; };

class rectangular:public rectangle { public:

rectangular( double l,double w,double h ) : rectangle( l,w ) { height = h; } double getheight()

{ return height; } double volume()

{ return area() *height; } private:

double height; }; int main()

{ rectangle obj1( 2,8 ); rectangular obj2( 3,4,5 );

cout<<\

cout<<\

cout<<\ cout<<'\\t'<<\ cout<<\}

5.定义一个时钟类Clock,实现时间前置“++”运算重载。要求用重载成员函数的形式实现时间的秒加1。完成程序的编写。

#include using namespace std; class Clock

//时钟类声明


C++复习题(2015)(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:上海市旅游十二五规划

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: