南昌航空大学实验报告2构造函数.docx
- 文档编号:3310965
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:9
- 大小:15.67KB
南昌航空大学实验报告2构造函数.docx
《南昌航空大学实验报告2构造函数.docx》由会员分享,可在线阅读,更多相关《南昌航空大学实验报告2构造函数.docx(9页珍藏版)》请在冰豆网上搜索。
南昌航空大学实验报告2构造函数
南昌航空大学实验报告
2011年11月16日
课程名称:
面向对象程序设计B实验名称:
构造函数
班级:
102022姓名:
林书晨
指导老师评定:
签名:
实验二构造函数
1、实验目的
通过实验理解构造函数的概念与其特殊应用。
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.构造函数
classTriangle{
public:
Triangle(doublex,doubley,doublez)
{
a=x;
b=y;
c=z;
}
Triangle(doublex,doubley)
{
a=x;
b=y;
c=5;
}
Triangle(doublex)
{
a=x;
b=4;
c=5;
}
Triangle(void)
{
a=3;
b=4;
c=5;
}
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"< } else { cout<<"rightangledtriangle"< } } else { if(a==b||a==c||b==c) { if(a==b&&b==c) { cout<<"regulartriangle"< } else { cout<<"isoscelestriangle"< } } else { cout<<"Generaltriangle"< } else { cout<<"Notatriangle"< } return; 4.详细设计 #include #include classTriangle{ public: Triangle(doublex,doubley,doublez) { a=x; b=y; c=z; } Triangle(doublex,doubley) { a=x; b=y; c=5; } Triangle(doublex) { a=x; b=4; c=5; } Triangle(void) { a=3; b=4; c=5; } doubleGetArea()//求面积 { doublew=GetPerimeter()/2; returnsqrt(w*(w-a)+w*(w-b)+w*(w-c)); } doubleGetPerimeter()//求周长 { returna+b+c; } 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"< } else { cout<<"rightangledtriangle"< } } else { if(a==b||a==c||b==c) { if(a==b&&b==c) { cout<<"regulartriangle"< } else { cout<<"isoscelestriangle"< } } else { cout<<"Generaltriangle"< } else { cout<<"Notatriangle"< } return; } voidPrint() { cout<<"TheAreais: "< "< Show(); cout< return; } private: doublea,b,c; }; 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(); return; } 5.程序调试 a. (1)未初始化函数 (2)三角形形状判断函数不明 (3)没有正确的数据输出 (4)调试加入初始化函数 (5)该了判断函数三角形函数 (6)程序可运行 (7)输入数据 (8)结果正确 b.运行结果 输入: 3,4,5 输出: rightangledtriangle TheAreais: 6 ThePerimeteris: 12 输入: 4,4,5 输出: Notatriangle 输入: 4,4,4 输出: regulartriangle rightangledtriangle TheAreais: 12 ThePerimeteris: 6.9282 输入: 4,4,5 输出: rightangledtriangle TheAreais: 13 ThePerimeteris: 7.8062 输入: 2,2,2*2^(1/2) 输出: rightangledisoscelestriangle TheAreais: 4+2*2^(1/2) ThePerimeteris: 2 输入: 3,5,6 输出: Generaltriangle TheAreais: 14 ThePerimeteris: 4.5 6.实验总结 在实验中其实程序的写入并不难,只是我们应该注意一些具体的细节,比如函数的初始化,函数的具体方法等等。 7.附录 #include #include classTriangle{ public: Triangle(doublex,doubley,doublez) { a=x; b=y; c=z; } Triangle(doublex,doubley) { a=x; b=y; c=5; } Triangle(doublex) { a=x; b=4; c=5; } Triangle(void) { a=3; b=4; c=5; } doubleGetArea() { doublew=GetPerimeter()/2; returnsqrt(w*(w-a)+w*(w-b)+w*(w-c)); } doubleGetPerimeter() { returna+b+c; } 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"< } else { cout<<"rightangledtriangle"< } } else { if(a==b||a==c||b==c) { if(a==b&&b==c) { cout<<"regulartriangle"< } else { cout<<"isoscelestriangle"< } } else { cout<<"Generaltriangle"< } else Cout<<"NOtatriangle"< } return; } voidPrint() { cout<<"TheAreais: "< Perimeteris: "< Show(); cout< return; } private: doublea,b,c; }; 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(); return; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南昌 航空 大学 实验 报告 构造 函数
![提示](https://static.bdocx.com/images/bang_tan.gif)