第5周-任务3-长方柱类数组

简介: 【题目】编写基于对象的程序,求5个长方柱的体积和表面积。长方柱类的数据成员包括长(length)、宽(width)、高(heigth)等。另外: (1)需要定义长方柱类,5个长方柱采用一个对象数组表示; (2)前4个长方柱(即数组的前4个元素)要在定义数组时初始化,其中前3个直接给出参数初始化,第4、5个用默认构造函数初始化;然后第5个长方柱由键盘输入长、宽、高; (3)输出这5个长

题目】编写基于对象的程序,求5个长方柱的体积和表面积。长方柱类的数据成员包括长(length)、宽(width)、高(heigth)等。另外:

(1)需要定义长方柱类,5个长方柱采用一个对象数组表示;

(2)前4个长方柱(即数组的前4个元素)要在定义数组时初始化,其中前3个直接给出参数初始化,第4、5个用默认构造函数初始化;然后第5个长方柱由键盘输入长、宽、高;

(3)输出这5个长方柱的体积和表面积;


 【分析】定义出长方类并不困难。根据题目中的要求,可以知道需要定义的成员函数有:

  • 构造函数;
  • 输入数据成员的函数;
  • 输出体积和表面积的函数(求体积和表面积的函数可以专门定义,也可以将相应功能在输出函数中实现)。


【参考程序】

#include <iostream>
using namespace std;
class Bulk
{
public:
    Bulk():lengh(1.0),width(1.0),height(1.0){};//默认构造函数
    Bulk(doublex,double y,doublez):lengh(x),width(y),height(z){};//带参数的构造函数
    void set_value();
    void display();
private:
    double lengh;
    double width;
    double height;
};
 
void Bulk::set_value()
{
    cout<<"please input lengh, width,height:";
    cin>>lengh;
    cin>>width;
    cin>>height;
}
 
void Bulk::display()
{
    cout<<"    The volume is: "<<lengh*width*height<<endl;
    cout<<"    The surface area is: "<<2*(lengh*width+lengh*height+width*height)<<endl;
    cout<<endl;
}
 
int main()
{
    Bulkb[5]={Bulk(2.3,4.5,6.7),Bulk(1.5,3.4,9.5),Bulk(10.5,22.3,3.14)};//前三个元素用带参构造函数初始化,后两个用默认构造函数
    b[4].set_value();  //注意b[4]是一个对象,调用成员函数的形式b[4].set_value()
    for(int i=0;i<5;++i)
    {
       cout<<"关于b["<<i<<"]"<<endl;
       b[i].display();//调用对象数组中元素的成员函数
    }
    system("pause");
    return 0;
}


目录
相关文章
|
人工智能 编译器 程序员
第八周:数组
数组的魅力才刚刚开始,在其他地方你都能看到他
98 0
|
C++ 开发工具 IDE
2014秋C++第16周 项目 指针和数组、函数
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。  【项目1-数组的排序】按给定部分程序的要求,用指向数组的指针变量作为形式参数编写函数,完成排序。重点体会:(1)排序算法,可以是冒泡,也可以是选择;(2)用指向数组的指针变量作为形式参数,用数组名(
1260 0
|
存储 人工智能 C++
2014秋C++ 第14周项目 二维数组
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。  【项目1-折腾二维数组】创建一个5行4列的二维整型数组,通过初始化,为数组中的前两列的10个元素赋初值,然后: 通过键盘输入,使后两列的10个元素获得值; 按行序优先输出数组元素; 将所有元素值乘
1456 0
|
C++ 搜索推荐 人工智能
C++第14周项目4——数组的排序
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759 【项目4 - 数组的排序】   编函数,完成冒泡排序。要求不能改变下面的main函数。  重点体会:(1)排序算法;(2)数组名作形式参数,将能改变作为实际参数的数组的值,实际参数传递给形式参数的是数组的地址值,也是传值;(3)形式参数中不指定数组大小,实际数组
1133 0
|
测试技术 C++
C++第15周项目1 -数组类
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/9018813 【项目1】建立专门的数组类处理有关数组的操作  数组是几乎所支持的组织数据的方法。C和C++对数组类型提供了内置支持,使我们利用数组实现软件中
1033 0
|
C++
C++第15周项目2 -链表类
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/9018813 【项目2】建立专门的链表类处理有关动态链表的操作  动态链表也是程序设计中的一种非常有用的数据结构。可以说,是否能够理解有关操作的原理,决定了
1186 0
|
人工智能 C++
C++第15周项目1扩展1 -数组类
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/9018813 【项目1-扩展1】建立专门的数组类处理有关数组的操作项目1情况见:http://blog.csdn.net/sxhelijian/articl
1111 0
|
C++
C++第13周项目4 - 多重继承出日期时间类
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8953304 【项目4】日期时间类  定义一个日期类Date,数据成员包括年、月、日,SetDate(int y,int m,int d)和PrintDat
1273 0
|
C++
C++第9周项目5 - -二维数组类Douary
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8841620 【项目5(选做)-二维数组类Douary】建立一个二维数组类Douary,使该类中有以下数据成员、成员函数及友员函数,完成矩阵的输入、输出、加
1370 0
|
C++ 机器学习/深度学习 移动开发
C++第9周项目3 - 实现分数类中的运算符重载
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8841620 【项目3-分数类】接第8周项目3,定义分数类中&lt;&lt;和&gt;&gt;运算符重载,实现分数的输入输出,改造原程序中对运算结果显示方式
1059 0