继承与多态联练习:计算二维与三维图形面积or体积

本文将介绍如何设计一个计算图形的类库,包括一个抽象基类,以及分别派生的二维图形和三维图形类。二维图形包括圆、椭圆、矩形和三角形等,三维图形包括球、圆柱体和长方体等。每个类定义了显示数据成员、计算面积或体积的方法,实现了多态特性。

设计一个计算图形的类库

第一层是一个抽象类,并且提供三个纯虚函数;显示数据成员、返回面积和返回体积。
第二层由Shape类派生TwoDimShape和ThreeShape,增加了有关的数据成员,但没有陈冠函数的实现。
都三层派生具体的图形类。
TwoDimShape类派生:Circle(圆)、Elipse(椭圆)、Rectangle(矩形)、Triangel(三角形)等类;
ThreeShape类派生:Ball(球)Cylinder(圆柱体)、Rectangularparallelepiped(长方体)等类。

#include<iostream>
#include<string>
#include<math.h>
using namespace std;
const double PI = acos(-1.0);
// Definition of Shape class and related functions goes here
class Shape
{
    virtual void showData() = 0;
    virtual double reArea() = 0;
    virtual double reVolume() = 0;
};
class TwoDimShape :virtual public Shape {
protected:
    double x, y;
public:
    virtual void showData() {
        return ;
    }
    virtual double reArea() {
        return 0;
    }
    virtual double reVolume() {
        return 0;
    }
};
class ThreeShape :virtual public Shape {
protected:
    double x, y, z;
public:
    virtual void showData() {
        return;
    }
    v
书名 版权 前言 第一部分 C#的基本数据型、数组图形基础第1章 C#语言基础 1.1 数据型 1.1.1 简单型 1.1.2 结构型 1.1.3 枚举型 1.1.4 数组型 1.1.5 型 1.1.6 型转换 1.2 1.3 接口 1.4 委托事件 第2章 图形基础 2.1 笔画刷 2.1.1 Pen 2.1.2 Brush 2.2 基本图形状 2.2.1 点 2.2.2 直线曲线 2.2.3 矩、椭圆形圆弧 2.2.4 多边 2.3 颜色 2.4 双倍缓存 第3章 坐标系统颜色变换 3.1 坐标系统 3.2 颜色变换 第二部分 二维图的基本算法 第4章 二维矩阵变换 4.1 矩阵基础变换 4.2 齐次坐标 4.2.1 齐次坐标中的缩放 4.2.2 齐次坐标中的平移 4.2.3 齐次坐标中的旋转 4.2.4 变换组合 4.2.5 C#中矩阵的定义 4.2.6 C#中的矩阵操作 4.2.7 C#中基本的矩阵变换 4.3 C#中图形对象的变换 基本变换 4.4 C#中的多对象变换 4.5 文字变换 第5章 二维线图形 5.1 序列化反序列化及二维图的基本框架 5.1.1 C#序列化反序列化 5.1.2 二维图的基本框架 5.2 二维图 5.2.1 简单实例 5.2.2 图例 5.2.3 符号 5.2.4 对数比例 5.2.5 图形的修饰 5.3 阶梯状图 5.4 多Y轴图 第6章 特殊二维图 6.1 创建柱状图 6.1.1 水平柱状图 6.1.2 垂直柱状图 6.1.3 图形充填柱状图 6.1.4 重叠柱状图 6.2 饼状图 6.3 误差图 6.4 股票图 6.4.1 最高最低收盘价股票图 6.4.2 最高最低开盘收盘价股票图 6.4.3 最高最低价股票图 6.4.4 K线图(阴阳烛图) 6.5 面积图 6.6 综合图 第三部分 三维图形的相关知识三维图形实现第7章 三维矩阵变换 7.1 三维数学概念 7.1.1 操作三维对象 7.1.2 数学结构 7.2 三维中的基本矩阵变换 7.2.1 C#中三维矩阵的操作 7.2.2 三维的基本变换 7.3 方位角仰角 7.4 三维图形中的特殊坐标系统 7.4.1 球坐标系统 7.4.2 圆柱坐标系统 7.5 特殊坐标中的实际应用 7.5.1 球坐标示例 7.5.2 双缓存 第8章 三维图形 8.1 三维图形基础 8.1.1 Point3Matrix3 8.1.2 ChartStyle 8.1.3 坐标轴 8.1.4 网格线 8.1.5 标签 8.2 三维折线图 8.3 三维图形函数包 8.3.1 ChartStyle2D 8.3.2 Point4 8.3.3 DataSeries 8.3.4 ChartFunctions 8.3.5 DrawChart 8.4 曲面图的实现 8.4.1 网格图 8.4.2 幕布网格图 8.4.3 瀑布网格图 8.4.4 曲面图 8.5 X-Y平面色彩图 8.6 轮廓图 8.6.1 轮廓图的算法 8.6.2 轮廓图的实现 8.7 组合图 8.7.1 三维体系中的X-Y色彩图 8.7.2 三维体系中的轮廓图 8.7.3 网格-轮廓组合图 8.7.4 曲面-轮廓组合图 8.7.5 填充曲面-轮廓组合图 8.8 三维柱状图 实现柱状图 8.9 切片图 切片图的实现 第四部分 C#中应用微软Office的Excel实现各种二维三维图形第9章 应用 程序中的Excel图表 9.1 ExcelC#间的互操作 9.2 C#应用程序中的Excel图表示例 9.2.1 Excel图表对象模型 9.2.2 创建独立的Excel图表 9.2.3 创建嵌入式Excel图表 9.3 更多的Excel图表 9.3.1 柱状图 9.3.2 饼状图 9.3.3 面积图 9.3.4 圆环图 9.3.5 雷达图 9.3.6 股价图 9.3.7 曲面图 9.3.8 颜色映射 9.4 整合Excel图表到Windows Forms应用程序中 9.4.1 Windows窗体上的独立Excel图表 9.4.2 Windows窗体上的嵌入式Excel图表 第五部分 实现文件的相关知识 第10章 文件的读/写 10.1 C#文件读/写常用 10.1.1 System.IO.FileSystem.IO.FileI nfo 10.1.2 System.IO.DirectorySystem.Dir ectoryInfo 10.2 C#基于流的输入/输出 流的继承结构 10.3 文件读/写操作涉及的 10.4 一些常见的问题及其解决方案 参考文献
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值