南昌航空大学实验报告2构造函数Word下载.docx
《南昌航空大学实验报告2构造函数Word下载.docx》由会员分享,可在线阅读,更多相关《南昌航空大学实验报告2构造函数Word下载.docx(9页珍藏版)》请在冰豆网上搜索。
![南昌航空大学实验报告2构造函数Word下载.docx](https://file1.bdocx.com/fileroot1/2022-11/21/3e1a66ce-cbc5-4a37-a2f1-17081fa4029f/3e1a66ce-cbc5-4a37-a2f1-17081fa4029f1.gif)
通过实验理解构造函数的概念与其特殊应用。
2、实验内容
应用VC++6.0的编辑环境构造一个类Triangle,该类主要实现三角形的基本操作,例如初始化(构造函数及构造函数的重载)、求三角形的周长、面积、判断该三角形是什么三角形(等边、等腰、直角、等边直角、一般三角形、非三角形)、输出等,具体说明如下:
classTriangle{
public:
Triangle(double,double,double);
Triangle(double,double);
Triangle(double);
Triangle();
doubleGetArea();
doubleGetPerimeter();
doubleShow();
private:
doublea,b,c;
};
3.概要设计
a.构造函数
Triangle(doublex,doubley,doublez)
{
a=x;
b=y;
c=z;
}
Triangle(doublex,doubley)
c=5;
Triangle(doublex)
b=4;
Triangle(void)
a=3;
b.实现功能
1.DoubleGetArea()//求面积
doublem=GetPerimeter()/2;
returnsqrt(m*(m-a)+m*(m-b)+m*(m-c));
2.
DoubleGetPerimeter()//求周长
returna+b+c;
3.VoidShow()//判断是什么三角形
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
if(a==b||a==c||b==c)
cout<
<
"
rightangledisoscelestriangle"
endl;
else
rightangledtriangle"
if(a==b&
&
b==c)
regulartriangle"
isoscelestriangle"
Generaltriangle"
else
{
cout<
Notatriangle"
return;
4.详细设计
#include<
iostream.h>
math.h>
doubleGetArea()//求面积
doublew=GetPerimeter()/2;
returnsqrt(w*(w-a)+w*(w-b)+w*(w-c));
doubleGetPerimeter()//求周长
voidShow()//判断是什么三角形
voidPrint()
TheAreais:
GetArea()<
"
ThePerimeteris:
GetPerimeter()<
;
Show();
endl<
voidmain()
Triangletr1(6.0);
Triangletr2(5.0,4.0);
Triangletr3(6.0,6.0,6.0);
Triangletr4;
tr1.Print();
tr2.Print();
tr3.Print();
tr4.Print();
}
5.程序调试
a.
(1)未初始化函数
(2)三角形形状判断函数不明
(3)没有正确的数据输出
(4)调试加入初始化函数
(5)该了判断函数三角形函数
(6)程序可运行
(7)输入数据
(8)结果正确
b.运行结果
输入:
3,4,5
输出:
rightangledtriangle
6
12
输入:
4,4,5
Notatriangle
4,4,4
regulartriangle
6.9282
13
7.8062
2,2,2*2^(1/2)
rightangledisoscelestriangle
4+2*2^(1/2)
2
3,5,6
Generaltriangle
14
4.5
6.实验总结
在实验中其实程序的写入并不难,只是我们应该注意一些具体的细节,比如函数的初始化,函数的具体方法等等。
7.附录
doubleGetArea()
doubleGetPerimeter()
voidShow()
Cout<
NOtatriangle"
The
Perimeteris: