高分求3道C++机试题的详细代码!

来源:百度知道 编辑:UC知道 时间:2024/06/03 17:23:23
1.Box类包含三个私有数据成员a(立方体边长)、volume(体积)和area(表面积),另有两个构造函数以及

seta()(设置立方体边长)、getvolume()(计算体积)、getarea(计算表面积)和disp(输出结果)。请声明并

实现该类,并写出主函数进行测试,长方体的参数要求从键盘输入,并输出其表面积和体积。

2.设计一个长方形类(Rectangle),包含两个私有的数据成员length.width,要求能求其面积;再从

Rectangle派出一个长方体(Volume),要求能求其体积。请声明并实现这两个类,并在主函数中分别定义这

两个类的对象,并打印出相应的面积和体积。

3.定义一个基类物体object,有数据成员重量weight,有构造函数对数据成员weight进行初始化,有成员

函数打印重量信息PrintWeight。从object类派生出盒子类box,曾加数据成员高度heigh和宽度width,并

定义派生类box类的构造函数对数据成员weight、height、width进行初始化,有成员函数PrintAII打印数

据成员weight、height、width值。在主函数中创建一个box对象,并初始化其所有数据成员,调用成员函

数将weight、height、width值信息显示。
3道题是各自独立的!

1.

#include <iostream>
using namespace std;
class Box
{
private:
float a;//立方体边长
float volume;//体积
float area;//表面积

public:
Box()//构造函数1
{
a=0.0;
volume=0.0;
area=0.0;
}
Box(float x):a(x){}//构造函数2
void seta()//设置立方体边长
{
cout<<"enter a :";
cin>>a;
}

float getvolume();//计算体积
float getarea();//计算表面积
void disp();//输出结果
};

float Box::getvolume ()
{
volume=a*a*a;
return volume;
}

float Box::getarea ()
{
area=6*a*a;
return area;
}

void Box::disp ()
{
cout<<"\t a="<<a<<"\n\tvolume="<<getvolume()
<<"\n\tarea="<<getarea()<<endl;
}

int main()
{
Box box1,box2(1);
cout<<"box1&qu