/* (程序头部注释开始)
* 程序的版权和版本声明部分
* 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++上机实验报告-实验三全文共13页,当前为第1页。C++上机实验报告-实验三全文共13页,当前为第1页。实验三类与对象 C++上机实验报告-实验三全文共13页,当前为第1页。 C++上机实验报告-实验三全文共13页,当前为第1...
2、定义的函数 class stack 栈的构造及初始化 int length(char *c) 输出字符数组的长度 void print(int i,char*c) 剩余输入串的输出 void run() 分析程序 3、LL(1)预测分析程序流程图 实验二--LL(1)分析法实验报告...
内容及步骤: 1、 设有一个线性表(e0,e1,e2,e3,…,en-2,en-1)存放在一个一维数组A[arraySize]中的前n个数组元素位置。请编写一个函数将这个线性表原地逆置,即将数组的前n个原地址内容置换为(en-1,en-2,…,e3,...
(2)分别为继承和组合方式下为各类添加构造函数、析构函数,增加相应测试代码,体验对象的初始化和构造顺序。 (3)将摄像机类和行车记录仪类功能相近的函数(如拍摄、编码等功能函数)设为同名函数,增加相应测试...
2. (第2题) 定义类Point及它的属性、方法和构造函数,定义主类和main(),在main()方法中创建两个坐标对象,,并通过对象调用getMiddle方法后得到一个新的点坐标,调用show()显示该对象的坐标值。 3. (第3题)定义一...
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页 ...
现在我们将深入介绍如何创建集,并用数据初始化集的属性。学完本节后,你对基于建模技术的集如何引入模型会有一个基本的理解。 2.1 为什么使用集 集是LINGO建模语言的基础,是程序设计最强有力的基本构件。借助于集...
而在二叉排序树上进行查找时的平均查找长度和二叉树的形态有关: ①在最坏情况下,二叉排序树是通过把一个有序表的n个结点依次插入而生成的,此时所得的二叉排序树蜕化为棵深度为n的单支树,它的平均查找长度和...
为了使路径不至于过分倾斜,可以约束斜率在0.5-2范围内,如果路径已经通过了格点( ),那么下一个通过的格点( )只能是下列三种情况之一: 搜索最佳路径的方法如下: 搜索从( )开始,网格中任意一点只可能有一条路径...