三角形类3

  
#include<iostream>  
#include <Cmath>  
using namespace std;  
class Triangle  
{public:  
    Triangle(double x=1,double y=1,double z=1);  
    double perimeter(void);//计算三角形的周长  
    double area(void);//计算并返回三角形的面积  
    void showMessage();  
private:  
    double a,b,c; //三边为私有成员数据  
};  
  
Triangle::Triangle(double x, double y, double z)  
{  
    a=x;  
    b=y;  
    c=z;  
}  
double Triangle::perimeter()  
{  
    return(a+b+c);  
}  
double Triangle::area()  
{   double r;  
    r=(a+b+c)/2;  
    return sqrt(r*(r-a)*(r-b)*(r-c));  
}  
void Triangle:: showMessage()  
{  
    cout<<"三角形的三边长分别为:"<<a<<'\t'<<b<<'\t'<<c<<endl;  
    cout<<"该三角形的周长为:"<<perimeter()<<'\t'<<"面积为:"<<area()<<endl<<endl;  
}  
  
  
void main(void)  
{   Triangle Tri1;  //定义三角形类的一个实例(对象),要求执行一个默认构造函数,三边初值均为1  
    Tri1.showMessage();  
    Triangle Tri2(7,8,9);   //定义三角形类的一个实例(对象)  
    Tri2.showMessage();  
}  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是一个完整的C++程序,包含1.设计抽象基Shape 2.由Shape派生出Circle圆,Rectangle矩形,Triangle三角形 3.用函数printArea分别实现圆、矩形三角形的面积 4.用基Shape的指针输出圆、矩形三角形的面积: ```c++ #include <iostream> class Shape { public: virtual double getArea() = 0; virtual void printArea() { std::cout << "The area of the shape is: " << getArea() << std::endl; } }; class Circle : public Shape { private: double radius; public: Circle(double r) : radius(r) {} double getArea() override { return 3.14159 * radius * radius; } }; class Rectangle : public Shape { private: double length, width; public: Rectangle(double l, double w) : length(l), width(w) {} double getArea() override { return length * width; } }; class Triangle : public Shape { private: double base, height; public: Triangle(double b, double h) : base(b), height(h) {} double getArea() override { return 0.5 * base * height; } }; int main() { Shape* circle = new Circle(5.0); Shape* rectangle = new Rectangle(4.0, 6.0); Shape* triangle = new Triangle(3.0, 5.0); circle->printArea(); rectangle->printArea(); triangle->printArea(); delete circle; delete rectangle; delete triangle; return 0; } ``` 在这个程序中,我们首先定义了抽象基Shape,并在其中定义了纯虚函数getArea()和虚函数printArea()。然后,我们派生出了Circle圆、Rectangle矩形和Triangle三角形,并分别实现了它们的getArea()函数。最后,我们在主函数中通过基Shape的指针分别输出了圆、矩形和三角形的面积。 输出结果为: ``` The area of the shape is: 78.5398 The area of the shape is: 24 The area of the shape is: 7.5 ``` 可以看到,程序成功地输出了圆、矩形和三角形的面积。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值