长方体类中的构造函数

原创 2012年03月21日 19:48:20

源程序:

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* 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型,给一个返回值,返回体积和表面积,在输出时直接调用就可以了

上机感言:

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


定义长方体类,数据成员有长、宽、高,成员函数有带默认形参值的构造函数(默认长宽高分别为2.5、3.4、2)、计算体积函数,分别构造默认对象和长宽高分别为6.25、4.8、5.2的对象,输出各对象的体积

定义长方体类,数据成员有长、宽、高,成员函数有带默认形参值的构造函数(默认长宽高分别为2.5、3.4、2)、计算体积函数,分别构造默认对象和长宽高分别为6.25、4.8、5.2的对象,输出各对象的体积...
  • lwd2621
  • lwd2621
  • 2016年05月17日 20:04
  • 821

定义一个描述长方体的类——学期末复习

1、定义一个描述长方体的类,类中有三个整型数据成员,分别描述长方体的长、宽和高。定义构造函数,初始化这三个成员;定义成员函数求长方体的体积;定义成员函数求长方体的表面积;定义成员函数分别获取长方体的长...
  • zhangdong7514280095
  • zhangdong7514280095
  • 2011年12月10日 13:56
  • 1916

浅谈C++中的几种构造函数

3月中旬参加宣讲会,做了X软公司的C++笔试题,里面有一道“默认拷贝构造函数的题”,由于好久没复习C++基础知识,当时连基本的概念都想不来了了。于是乎,开始拿起以前看的谭浩强C++复习起来,现在书快要...
  • zxc024000
  • zxc024000
  • 2016年04月14日 17:56
  • 9373

python为类定义构造函数

用python进行OO编程时, 经常会用到类的构造函数来初始化一些变量。 class FileData:     def __init__(self, data, name, type):...
  • muzizongheng
  • muzizongheng
  • 2013年07月19日 09:06
  • 2159

C#中类中构造函数的执行序列

所有的类都至少包含一个构造函数。这些构造函数中可能有一个默认的构造函数,默认的构造函数没有参数,与类同名。其它带参数的构造函数称为非默认的构造函数。 在类的外部不能用私有的构造函数实例化对象,通过把...
  • gshgsh1228
  • gshgsh1228
  • 2016年03月12日 20:11
  • 1057

《解析C#类中的构造函数》

一.  C#中的构造函数概述: C#中类包含数据成员和函数成员。函数成员提供了操作类中数据的某些功能,包括方法、属性、构造器和终结器、运算符和索引器。 1.   构造函数设计的定义:   构造器...
  • pengze0902
  • pengze0902
  • 2015年11月03日 16:27
  • 845

C++中class类 的 构造函数、析构函数

说明: demo.cpp:main.cpp所在之处 Line.h:线段类的.h文件 Line.cpp:线段类的.cpp文件 Coordinate.h:坐标类的.h文件 Coordinate.cpp:坐...
  • shangguanyunlan
  • shangguanyunlan
  • 2016年10月16日 17:05
  • 1773

C++中类的四种构造函数

构造函数又分为4大类: 1、无参数构造函数 2、有参数构造函数 3、赋值构造函数(copy构造函数) 4、默认构造函数 class test{public: test...
  • y780465649
  • y780465649
  • 2016年08月27日 16:42
  • 3243

C++类使用构造函数初始化类表和构造函数函数体中赋值的区别

参考:http://www.360doc.com/content/13/0607/19/1317564_291331713.shtml C++ Primer中在讲构造函数初始化列表的...
  • williamzhang1111
  • williamzhang1111
  • 2015年06月19日 10:30
  • 1184

C++中类的组合与构造函数

首先看看构造函数的概念。在程序执行过程中,当遇到对象声明语句时,程序会想操作系统申请一定的内存空间用于存放新建的对象。而编译器不知道如何产生代码来实现初始化。所以C++做了一套对象初始化的机制,就是构...
  • waiting_someone
  • waiting_someone
  • 2016年07月20日 15:29
  • 1029
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:长方体类中的构造函数
举报原因:
原因补充:

(最多只允许输入30个字)