如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
南昌航空大学实验报告2011年10月16号课程名称:向对象程序设计B实验名称:构造函数班级:姓名:同组人:指导教师评定:签名:一、实验目的通过实验理解构造函数的概念与其特殊应用。二、实验内容应用VC++6.0的编辑环境构造一个类Triangle,该类主要实现三角形的基本操作,例如初始化(构造函数及构造函数的重载)、求三角形的周长、面积、判断该三角形是什么三角形(等边、等腰、直角、等边直角、一般三角形、非三角形)、输出等。概要设计要实现的功能:构造函数;判断输入的三个数能不能构成一个三角形;求该三角形的面积;求该三角形的周长;显示输出。函数原型:Triangle(double,double,double)doubleGetArea()doubleGetPerimeter()voidShow()详细设计判断输入的三个数能不能构成一个三角形的算法:doubleA,B,C;do{cout<<"Pleaseinputthreenumbers(a,b,c):"<<endl;cin>>A>>B>>C;if(A<=0||B<=0||C<=0||(A+B)<=C||(A+C)<=B||(B+C)<=A)cout<<"NotTriangle!Pleaseinputagain!"<<endl;}while(A<=0||B<=0||C<=0||(A+B)<=C||(A+C)<=B||(B+C)<=A);求该三角形的面积的算法:doubleGetArea(){doubleP;P=(a+b+c)/2;returnsqrt(P*(P-a)*(P-b)*(P-c));}求该三角形的周长的算法:doubleGetPerimeter(){return(a+b+c);}程序调试在调试的过程中出现了一下的错误提示信息:1、"main":本地函数定义是非法的;2、发现意外的文件结尾。出现错误的原因是在语句Triangle::Triangle(doubleA,doubleB,doubleC):a(A),b(B),c(C)的后面缺少了{}。调试无误后,程序测试结果为:Pleaseinputthreenumbers(a,b,c):247NotTriangle!Pleaseinputagain!Pleaseinputthreenumbers(a,b,c):345Areais:6Perimeteris:12实验总结通过这次的试验,我明显的感觉到自己对类与结构这方面的知识掌握的还不够熟练,不能顺利地、流畅地运用这方面的知识,因为我没有在规定的时间内完成程序的设计,课后还是要多复习。附录#include<iostream.h>#include<math.h>classTriangle{public:Triangle(double,double,double);doubleGetArea(){doubleP;P=(a+b+c)/2;returnsqrt(P*(P-a)*(P-b)*(P-c));}doubleGetPerimeter(){return(a+b+c);}voidShow(){cout<<"Areais:"<<GetArea()<<endl;cout<<"Perimeteris:"<<GetPerimeter()<<endl<<endl;}private:doublea,b,c;};Triangle::Triangle(doubleA,doubleB,doubleC):a(A),b(B),c(C){}voidmain(){doubleA,B,C;do{cout<<"Pleaseinputthreenumbers(a,b,c):"<<endl;cin>>A>>B>>C;if(A<=0||B<=0||C<=0||(A+B)<=C||(A+C)<=B||(B+C)<=A)cout<<"NotTriangle!Pleaseinputagain!"<<endl;}while(A<=0||B<=0||C<=0||(A+B)<=C||(A+C)<=B||(B+C)<=A);TriangleQ(A,B,C);Q.Show();}