`
txf2004
  • 浏览: 6855069 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

《第五周实验报告1-2》---增加构造函数,使对象在定义时能够进行初始化

 
阅读更多
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
* 文件名称:  Triangle1-1.cpp                    
* 作    者:  计114-3 王兴锋              
* 完成日期:  2012 年 3 月 19 日
* 版 本 号:  V 1.0

* 对任务及求解方法的描述部分
* 输入描述:设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化 
* 问题描述:
			(3)使用默认参数的构造函数,不给定实参时,默认边长为1;
* 程序输出:按要求输出
###上机感言:通过要求,体会各种类初始化的特点并熟练掌握。
* 程序头部的注释结束
*/

#include <iostream>
#include <Cmath>

using namespace std;

class Triangle
{
public:
	Triangle(float x = 1, float y = 1, float z = 1);//参数构造函数
	float perimeter(void);//计算三角形的周长
	float area(void);//计算并返回三角形的面积
	void showMessage();
private:
	float a,b,c; //三边为私有成员数据
};
Triangle::Triangle(float x, float y, float z)
{
	if (x + y > z && x + z > y && y + z > x && x > 0 && y > 0 && z > 0)
		a = x, b = y, c = z;
	else
	{
		cout << "您的赋值有误!" << endl;
		exit(0);
	}
}
float Triangle::perimeter(void)
{
	return a + b + c;
}
float Triangle::area(void)
{
	float p;

	p = (a + b + c) / 2;

	return sqrt(p * (p - a) * (p - b) * (p - c));
}

void Triangle:: showMessage()
{
	cout << "三角形的三边长分别为:" << '\t' << a << '\t' << b << '\t' << c<< endl;
	cout << "该三角形的周长为:" << perimeter() << '\t' << "面积为:" << area() << endl <<endl;
}

void main(void)
{
	//使用默认参数的构造函数,不给定实参时,默认边长为1
	Triangle Tri1;	//定义三角形类的一个实例(对象)
	Tri1.showMessage();
	//指定参数,按指定的参数进行赋值
	Triangle Tri2(7,8,9);	//定义三角形类的一个实例(对象)
	Tri2.showMessage();

}

分享到:
评论

相关推荐

    C++上机实验报告-实验三.docx

    C++上机实验报告-实验三全文共13页,当前为第1页。C++上机实验报告-实验三全文共13页,当前为第1页。实验三类与对象 C++上机实验报告-实验三全文共13页,当前为第1页。 C++上机实验报告-实验三全文共13页,当前为第1...

    实验二--LL(1)分析法实验报告.docx

    2、定义的函数 class stack 栈的构造及初始化 int length(char *c) 输出字符数组的长度 void print(int i,char*c) 剩余输入串的输出 void run() 分析程序 3、LL(1)预测分析程序流程图 实验二--LL(1)分析法实验报告...

    数据结构(C++)有关练习题

    内容及步骤: 1、 设有一个线性表(e0,e1,e2,e3,…,en-2,en-1)存放在一个一维数组A[arraySize]中的前n个数组元素位置。请编写一个函数将这个线性表原地逆置,即将数组的前n个原地址内容置换为(en-1,en-2,…,e3,...

    C++实验报告.doc

    (2)分别为继承和组合方式下为各类添加构造函数、析构函数,增加相应测试代码,体验对象的初始化和构造顺序。 (3)将摄像机类和行车记录仪类功能相近的函数(如拍摄、编码等功能函数)设为同名函数,增加相应测试...

    《Java程序设计》课程实验指导书程序代码(答案)(实验三)

    2. (第2题) 定义类Point及它的属性、方法和构造函数,定义主类和main(),在main()方法中创建两个坐标对象,,并通过对象调用getMiddle方法后得到一个新的点坐标,调用show()显示该对象的坐标值。 3. (第3题)定义一...

    成绩统计系统C课程设计.docx

    2.2015年5月15日(第10周)之前:联系指导教师,理解课程设计题目及相关要求,查阅相关资料,进行课程设计。 3.2015年5月15日至6月5日(第10~13周):课程设计源程序的调试、修改与检查,书写设计报告。 成绩...

    软件工程-理论与实践(许家珆)习题答案

    答:主要的软件开发方法有:结构化开发方法、Jackson(JSP、JSD)方法、原型化开发方 法、维也纳开发方法(VDM)和面向对象的开发方法。 6. 软件生命期各阶段的任务是什么? 答:软件生命期瀑布模型分为六个阶段: ...

    编译原理课程实验报告(词法分析器及语法分析器)

    wordList:此类存储了29个关键字,在构造函数中初始化。 2、word包(进行词法分析)中: basicFunction:此类定义了做词法分析的基本函数: GetChar()将下一输入字符读到ch中,搜索知识器前移一个字符位置 GetBC...

    华为编程开发规范与案例

    1、变量/指针在使用前就必须初始化 第5页 【案例1.1.1】 第5页 2、防止指针/数组操作越界 第5页 【案例1.2.1】 第5页 【案例1.2.2】 第6页 【案例1.2.3】 第7页 【案例1.2.4】 第8页 3、避免指针的非法引用 第9页 ...

    LINGO软件的学习

    现在我们将深入介绍如何创建集,并用数据初始化集的属性。学完本节后,你对基于建模技术的集如何引入模型会有一个基本的理解。 2.1 为什么使用集 集是LINGO建模语言的基础,是程序设计最强有力的基本构件。借助于集...

    二叉排序树与平衡二叉树的实现

    而在二叉排序树上进行查找时的平均查找长度和二叉树的形态有关: ①在最坏情况下,二叉排序树是通过把一个有序表的n个结点依次插入而生成的,此时所得的二叉排序树蜕化为棵深度为n的单支树,它的平均查找长度和...

    语音识别的MATLAB实现

    为了使路径不至于过分倾斜,可以约束斜率在0.5-2范围内,如果路径已经通过了格点( ),那么下一个通过的格点( )只能是下列三种情况之一: 搜索最佳路径的方法如下: 搜索从( )开始,网格中任意一点只可能有一条路径...

Global site tag (gtag.js) - Google Analytics