#include<iostream>
using namespace std;class graph // 抽象父类
{
public:virtual void Area() = 0;//定义纯虚函数virtual void Perimeter() = 0;
};class Circle :public graph // 定义圆类
{
public:Circle(float r) :radius(r)// 定义构造函数{cout << __func__ << ":" << __LINE__ <<endl;}virtual ~Circle()//定义析构函数{cout << __func__ << ":" << __LINE__ <<endl; }virtual void Area() //重新定义虚函数{cout << "Area of Circle:" << endl << 3.14 * radius * radius << endl;}virtual void Perimeter()//重新定义虚函数{cout << "Perimeter of Circle" << endl << 3.14 * 2 * radius << endl;}private:float radius;
};class Rectangle :public graph // 定义矩形类
{
public:Rectangle(float w, float h) :width(w), height(h)// 定义构造函数{cout << __func__ << ":" << __LINE__ <<endl;}virtual ~Rectangle()//定义析构函数{cout << __func__ << ":" << __LINE__ <<endl;}virtual void Area() {cout << "Area of Rectangle:" << endl << width * height <<  endl;}virtual void Perimeter(){cout << "Perimeter of Rectangle:" <<endl << 2*(width + height) << endl;}private:float width;float height;
};class Triangle :public graph // 定义三角形类
{
public:Triangle(float l, float w,float h) :width(l), height(w),length(h) // 定义构造函数{cout << __func__ << ":" << __LINE__ <<endl;}virtual ~Triangle()//定义析构函数{cout << __func__ << ":" << __LINE__ <<endl;}virtual void Area(){cout << "Area of Triangle:" << endl << 0.5 * length * height << endl;}virtual void Perimeter(){cout << "Perimeter of Triangle:" << endl << length + width + height << endl;}private:float length;float width;float height;
};int main()
{Circle circle(6); //圆circle.Area();circle.Perimeter();Rectangle rectangle(3, 4); //矩形rectangle.Area();rectangle.Perimeter();Triangle triangle(5,4,3);   //三角形triangle.Area();triangle.Perimeter();return 0;
}

定义一个图形抽象类,完成三角形、圆形、矩形的周长和面积计算相关推荐

  1. Java小程序之计算三角形/圆形/矩形的周长和面积

    题目:用Java编写一个计算随意给定值的三角形/圆形/矩形的周长和面积 代码如下: 文件名:Shape.java /*** 抽象类Shape 是其他三个形状的父类 * 其他三个类要继承重写getAre ...

  2. c++--定义图形抽象类。完成圆形、三角形、矩形的面积和周长计算

    c+±-定义图形抽象类.完成圆形.三角形.矩形的面积和周长计算 /*===============================================* 文件名称:abstract.cpp ...

  3. java设计一个形状shape_编程定义一个图形接口 Shape, 内含2个抽象方法 get... JAVA编程题:编一个程序包含一个接口 shape(该接......

    导航:网站首页 > 编程定义一个图形接口 Shape, 内含2个抽象方法 get... JAVA编程题:编一个程序包含一个接口 shape(该接... 编程定义一个图形接口 Shape, 内含2 ...

  4. 定义一个图形类及其子类

    //定义一个图形类及其子类(三角形类和矩形类),分别计算其面积和周长. class Graphical {//父类 public double width;//成员变量 public double l ...

  5. 类的设计与实现1、设计一个图形抽象类Graph,该类中有成员变量图形类型(type),维度信息(dimension,二维或三维);成员方法计算面积(computeArea); 2、设计一个接口

    类的设计与实现 1.设计一个图形抽象类Graph,该类中有成员变量图形类型(type),维度信息(dimension,二维或三维):成员方法计算面积(computeArea); 2.设计一个接口IDi ...

  6. 定义一个Triangle类表示三角形,测试这个三角形类的所有方法

    定义一个Triangle类表示三角形,其中三个double型变量a.b.c表示三条边长.为该类定义两个构造方法:默认构造方法设置三角形的三条边长都为0.0; 带三个参数的构造方法通过传递三个参数创建三 ...

  7. 定义一个函数,输入三角形的三条边,求三角形面积

    你可以这样定义一个函数来求三角形面积: def triangle_area(a, b, c):# 计算半周长s = (a + b + c) / 2# 计算海伦公式area = (s*(s-a)*(s- ...

  8. python定义一个圆_Python-矩形和圆形

    #######15.9 p175 import math class Circle: # """ This is a circle Class, incude Cente ...

  9. 定义一个图形类及其子类,计算其面积和周长

    class Graphical {//父类 public double width;//成员变量 public double length; public double area; public do ...

  10. python定义一个圆类、计算圆的面积和周长_VC6.0定义一个圆类,计算圆的面积和周长,我的程序老出错...

    我的程序如下#includeusingnamespacestd;#definePAI3.1415;classCircle{public:floatr;};voidset_r(Circle&t) ...

最新文章

  1. vmware 虚拟机共享 windows 目录
  2. 地址栏地址 获取_直播源获取工具,支持斗鱼、虎牙、B站、企鹅电竞、YY、抖音、西瓜直播!...
  3. 汇编语言:实验7寻址方式在结构化数据访问中的应用
  4. 求平均值程序c语言,编写求一组整数的和与平均值的程序
  5. ALSA驱动中snd_soc_write()原理分析及demo(二十二)
  6. 数据机房灾备的重要性
  7. STM32F4xx固件库分析
  8. Android安全论文汇集
  9. xHCI1.1-TRB Ring
  10. Numpy生成0矩阵、1矩阵、单位矩阵以及创建等差数组和等比数列
  11. 海尔全球十一连冠背后: 生态时代的无限游戏
  12. 二台电脑之间数据库文件进行备份
  13. 5G/NR 网络共享(协议版)
  14. SQL SERVER通过汉字获取所有拼音字母
  15. CaysnPrinter开发包接口说明文档及打印示例程序 - 20160715
  16. Error occurred during initialization of VM 附oracle官网解决方式
  17. JetBrains出品,一款好用到爆的数据库工具
  18. photoshop二次开发python_PhotoShop工具开发之Python(二)
  19. 简单用户登录系统 实现注册 登录功能
  20. 2017年阿里云生态大事记

热门文章

  1. 小码哥教育Vuejs笔记
  2. Spring框架学习笔记05:SpringAop
  3. Android 如何查看 SQLite 数据库
  4. DNS服务器解析偶尔失败
  5. CSAPP ArchLab
  6. 【Pytorch】量化
  7. 病毒制作实践小记:运行关机、蓝屏炸弹、进程关闭、拓展名病毒
  8. svn: E155004: There are unfinished work items in ‘D:\workspace\xxx‘; run ‘svn cleanup‘ firs
  9. 联通loid认证_光纤LOID 认证 需要填写的用户名是什么?有人说不...
  10. 关于mysql的时区(下):如何设置mysql的时区