第三周 项目一 三角形类(4)

/*
 *Copyright (c) 2015,烟台大学计算机学院
 *All rights reserved.
 *文件名称 : main.cpp
 *作    者 :韩娟
 *完成日期 :2015年4月5日
 *版 本 号 :v1.0
 *问题描述 :在构造函数中使用参数初始化表对数据成员初始化,这是一种更加提倡的写法。
 *输入描述 :略
 *程序输出 :略
 */
#include<iostream>
#include<Cmath>
using namespace std;
class Triangle
{
public:
    Triangle(double x=1,double y=1,double z=1):a(x),b(y),c(z){}
    double perimeter();//计算三角形的周长
    double area();//计算并返回三角形的面积
    void showMessage();

private:
    double a,b,c; //三边为私有成员数据
};

void Triangle::showMessage()
{
    cout<<"三角形的三边长分别为:"<<a<<' '<<b<<' '<<c<<endl;
    cout<<"该三角形的周长为"<<perimeter()<<",面积为:"<<area()<<endl<<endl;
}
double Triangle::perimeter()
{
    return a+b+c;
}
double Triangle::area()
{
    double r=(a+b+c)/2;
    return sqrt(r*(r-a)*(r-b)*(r-c));
}
int main()
{
    Triangle triangle1;   //定义边长为1 1 1的三角形类实例
    triangle1.showMessage();
    Triangle triangle2(1.5);//定义边长为1.5 1 1的三角形类实例
    triangle2.showMessage();
    Triangle triangle3(1.5,1.5);//定义边长为1.5 1.5 1的三角形类实例
    triangle3.showMessage();
    Triangle triangle4(7,8,9); //定义边长为7 8 9的三角形类实例
    triangle4.showMessage();
    return 0;
}

学习心得:

好好学习 天天向上

时间: 2024-12-24 22:24:34

第三周 项目一 三角形类(4)的相关文章

第三周 项目一 三角形类(1)

/* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称 : main.cpp *作 者 :韩娟 *完成日期 :2015年4月5日 *版 本 号 :v1.0 *问题描述 :设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化,可以由下面的类声明开始,需要自己实现相关的成员函数,以及增加要求的构造函数 *输入描述 :略 *程序输出 :略 */ #include<iostream> #include<Cmath>

第三周 项目一 三角形类(3)

/* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称 : main.cpp *作 者 :韩娟 *完成日期 :2015年4月5日 *版 本 号 :v1.0 *问题描述 :使用有默认参数的构造函数,不给定实参时,默认边长为1:注意--这个版本也只需要一个构造函数即可 *输入描述 :略 *程序输出 :略 */ #include<iostream> #include<Cmath> using namespace std;

第三周 项目一 三角形类(2)

/* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称 : main.cpp *作 者 :韩娟 *完成日期 :2015年4月5日 *版 本 号 :v1.0 *问题描述 :设计默认构造函数,即不指定参数时,默认各边长为1 *输入描述 :略 *程序输出 :略 */ #include<iostream> #include<Cmath> using namespace std; class Triangle { public

14周 项目2 形状类族中的纯虚函数

#include <iostream> using namespace std; class Shape { public: virtual double area()=0; }; class Circle:public Shape { public: Circle(double r):R(r) {} virtual double area() { return R*R*3.14; } protected: double R; }; class Rectangle:public Shape {

第14周项目4-立体类族共有的抽象类

/* *Corpyright (c)2013,烟台大学计算机学院 *All right reseved. *作者:张凯 *完成日期:2014年5月28日 *版本号:v1.0 *输入描述: *问题描述: *程序输出: *问题分析: *算法设计: */ #include<iostream> #include<cstring> using namespace std; class CSolid { public: virtual double area()=0; virtual doub

14周 项目3 立体类族共有的抽象类

#include <iostream> using namespace std; class CSolid { public: virtual double area() const=0; virtual double volume() const=0; }; class CCube:public CSolid { public: CCube(double s):side(s) {} virtual double area()const { return 6*side*side; } virt

第三周项目2-三角形类(二)

程序功能同项目1,main()函数如下,请重新定义Triangle类,其中逻辑特别简单的set和get成员函数,要处理为内置成员函数,直接在类内定义. /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年03月21日 * 版本号:v1.0 */ #include<iostream> #include<cmath> using namespace std;

第三周项目三 三角形多文件处理

[项目3-用多文件组织多个类的程序] 将项目2用"一个项目多个文件"的方式实现,其中两个类的声明放在同一个.h文件中,每个类的成员函数分别放一个文件,main()函数用一个文件.体会这样安排的优点. main 函数: #include <iostream> #include <cmath> #include "need.h" using namespace std; int main() { CPoint X(2,5),Y(5,2),Z(7,

第三周项目1-三角形类(一)

下面设计一个三角形类,请给出各成员函数的定义. /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年03月21日 * 版本号:v1.0 */ #include<iostream> #include<cmath> using namespace std; class Triangle { public: void setABC(double x, doubl