第五周项目1-三角形类雏形(5)

*All rightreserved. 

 *文件名称:test.cpp 

 *作   者:张明宇

 *完成日期:2016年3月27日 

 */

问题及代码:

使用复制构造函数,能用一个已有的三角形对象,复制出新的三角形对象:

int main()
{
	Triangle Tri1(3,4,5);  //定义边长为1 1 1的三角形类实例
	Tri1.showMessage();
	Triangle Tri2(Tri1);//调用复制构造函数
	Tri2.showMessage();
	return 0;
}
#include<iostream>   
#include<Cmath>   
using namespace std;  
class Triangle  
{  
public:  
    Triangle(double x=1, double y=1, double z=1);  
    Triangle(const Triangle &t);  
    double perimeter();//计算三角形的周长   
    double area();//计算并返回三角形的面积   
    void showMessage();  
private:  
    double a,b,c; //三边为私有成员数据   
};  
Triangle::Triangle(double x, double y, double z)  
{  
    a=x;  
    b=y;  
    c=z;  
}    
Triangle::Triangle(const Triangle &t)  
{  
    a=t.a;  
    b=t.b;  
    c=t.c;  
}  
double Triangle::perimeter()  
{  
    return (a + b + c);  
}    
double Triangle::area()  
{  
    double s = (a + b + c) / 2;  
    return sqrt(s * (s - a) * (s - b) * (s - c));  
}    
void Triangle::showMessage()  
{  
    cout<<"三角形的三边长分别为:"<<a<<' '<<b<<' '<<c<<endl;  
    cout<<"该三角形的周长为"<<perimeter()<<",面积为"<<area()<<endl<<endl;  
}  
int main()  
{  
    Triangle Tri1(3,4,5);   //定义边长为1 1 1的三角形类实例   
    Tri1.showMessage();  
    Triangle Tri2(Tri1); //调用复制构造函数   
    Tri2.showMessage();  
    return 0;  
}  



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
三角形逻辑覆盖(Trapezoidal Logic Coverage)是一种软件测试技术,它扩展了传统的路径覆盖方法,特别是针对条件组合的测试。在路径覆盖中,测试者通常关注每个判定(if-else或switch-case结构)的所有可能分支是否至少被执行一次。而三角形覆盖则是更深入地分析这些判断条件的真值组合,尤其是关注那些边界情况和异常情况。 三角形覆盖包括以下几个部分: 1. **基本路径(Base Path Coverage)**:确保每个基本路径至少执行一次,这是最基础的覆盖型。 2. **条件组合覆盖(Condition Coverage)**:除了基本路径,测试还需要确保每个条件(例如if语句中的条件)在所有可能的取值(真、假)下都被测试。 3. **判定/条件覆盖(Decision Coverage)**:测试器检查每个判定的所有可能取值组合,无论这些组合导致哪个分支被选中。 4. **三角形覆盖(Trapezoidal Coverage)**:在这个层次,测试不仅检查判定的真值,还关注其相邻的边界情况,如判定条件为真和判定条件为假时,以及条件的边界值。 三角形覆盖强调的是对程序逻辑的全面理解,尤其是条件依赖关系和它们在边界情况下的行为,这有助于提高测试的充分性和有效性。然而,由于涉及到更多的组合,实现三角形覆盖可能需要大量的测试用例设计和执行。在实际应用中,开发者可能会选择一个平衡的测试策略,结合其他覆盖标准,比如路径覆盖、条件/判定覆盖等,以达到最佳的测试效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值