三角形类(3)

#include<iostream>
#include<cmath>
using namespace std;
class Triangle
{public:
Triangle(double x=3,double y=3,double z=3):a(x),b(y),c(z){}
	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(void)
{
 return(a+b+c);
}

double Triangle::area(void)
{
	double s;
	s=(a+b+c)/2;
	return(sqrt(s*(s-a)*(s-b)*(s-c)));
}
void Triangle:: showMessage()
{
	cout<<"三角形的三边长分别为:"<<a<<"  "<<b<<"  "<<c<<endl;
	cout<<"该三角形的周长为:"<< perimeter()<<'\t'<<"面积为:"<<area()<<endl;
}

void main(void)
{
	Triangle Tri1;	//定义三角形类的一个实例(对象),要求执行一个默认构造函数,三边初值均为1
	Tri1.showMessage();
	Triangle Tri3(4,3);
	Tri3.showMessage();
	Triangle Tri4(7,8,9);
	Tri4.showMessage();
}


运行结果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个完整的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 ``` 可以看到,程序成功地输出了圆、矩形和三角形的面积。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值