关闭

长方体类中的构造函数

标签: 任务c
828人阅读 评论(1) 收藏 举报
分类:

源程序:

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
* 文件名称: 构造函数编写长方体类                          
* 作    者: 114-3 张宗佳                            
* 完成日期: 2012 年 3  月 21 日
* 版 本 号: vc.3        

* 对任务及求解方法的描述部分
* 输入描述:前4个长方柱(即数组的前4个元素)要在定义数组时初始化,其中前3个直接给出参数初始化,
  第4个用默认构造函数初始化;第5个长方柱定义时不初始化,而是由键盘输入长、宽、高赋值;
* 问题描述:需要定义长方柱类,5个长方柱采用一个对象数组表示;
* 程序输出:输出这5个长方柱的体积和表面积;
* 程序头部的注释结束
*/
#include<iostream>

using namespace std;

class Box
{
public:
	
	Box():length(1.0),width(1.0),heigth(1.0){};//默认的构造函数
	Box(double len, double wid, double hei):length(len),width(wid),heigth(hei){};//带参数的构造函数
	
	void set_box();
	double valume();
	double area();
	
private:
	double length;
	double width;
	double heigth;
};
int main()
{
	Box b[5] = 
	{
		Box(3.5,4.5,5.5),
			Box(4.5,3.6,8.9),
			Box(8.9,7.8,5.5)
	};//将前三个长方体初始化
	b[4].set_box();
	for(int i = 1; i < 6; ++i)
	{
		cout << "第" << i << "个长方体的体积是:" << b[i - 1].valume() << endl;
		
		cout << "第" << i << "个长方体的表面积是:" << b[i - 1].area() << endl;
	}//不用设置第四个长方体,在输出的时候就以默认1.0 输出了
	return 0;
}
void Box::set_box()
{
	cout << "请输入长方体的长、宽、高:" ;
	
	cin >> length;
	
	cin >> width;
	
	cin >> heigth;
	
	return ;
}
double Box::valume()
{
	double t;
	
	t = length * width * heigth;
	
	return t;
}
double Box::area()
{
	double s;
	
	s = 2 * (length * width + length * heigth + width * heigth);
	
	return s;
}

实验结果:


经验积累:

1.定义对象数组后,在初始化时所给的参数不能多于数组内的元素个数

2.可以讲成员函数设置成double型,给一个返回值,返回体积和表面积,在输出时直接调用就可以了

上机感言:

在声明类的时候,要把数据成员设为私有的,把成员函数设为公有的,而在刚开始编写时,竟然弄反了,在编译时出错....糊涂了...


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:100433次
    • 积分:1506
    • 等级:
    • 排名:千里之外
    • 原创:79篇
    • 转载:1篇
    • 译文:0篇
    • 评论:40条
    文章分类
    最新评论