Code Monkey home page Code Monkey logo

cppworks_exp2's Introduction

cppworks_exp2

实验题目 题目2-实验1:定义并实现一个平面点类

  1. Point,包含protected类型的数据成员m_x、m_y用于保存x轴、y轴两个坐标值,并具有如下数据成员:
  2. get_x()、get_y()用于获取x、y轴的坐标值
  3. set_x()、set_y()用于获取x、y轴的坐标值
  4. DisplayPoint()函数,用于输出点的全部信息(坐标等)
  5. 主程序从键盘输入点的坐标值,程序结束前输出点的信息。

实验2:从平面点类Point采用继承的方式,派生三维空间点类Point3D

  1. 增加数据成员m_z(z轴坐标值)
  2. 增加成员函数set_z()、get_z()用于设定或获取z轴坐标数值
  3. 采用虚函数的方式重载DisplayPoint输出三维空间点的全部信息。
  4. 主程序从键盘输入点的三维坐标值,程序结束前输出点的信息。

实验3:定义并实现折线类Curve3D

  1. 该类的对象拥有至少1个空间点(Point3D类型的数据,用指针与动态空间申请实现),以及记录点数量的数据成员
  2. 编写带默认参数值的构造函数,折线默认的空间点为原点(0,0,0)
  3. 编写析构函数;
  4. 成员函数DisplayCurve用于输出折线的各个点的信息;
  5. 成员函数CurveLen用于计算并输出折线长度;
  6. 重载加号运算符+,可以将一个Point3D点增加到折线点序列中(表示将折线延长到改点处);
  7. 重载减号运算符-,可以将一个Point3D点从折线点序列中删除(先在点序列中搜索,如果有要删除的点,就删除,如果没有,返回即可);
  8. 重载赋值运算符= 解决浅拷贝问题;
  9. 成员函数write_txt(ofstream &os),实现将折线数据写入文本文件的功能,文本文件每行保存一个点的三个坐标值,有多少个点,就有多少行;
  10. 成员函数read_txt(ifstream &is),实现从文本文件读入折线数据的功能,文本文件每行保存一个点的三个坐标值,有多少个点,就有多少行;
  11. 成员函数write_binary(ofstream &os) ,实现将折线数据写入二进制文件的功能;
  12. 成员函数read_binary(ifstream &is) 实现从二进制文件读入折线数据的功能。 二、大作业 2个题目,任选1个: 题目1、C++中动态多态性的原理分析 (1)C++实现多态的机制; (2)使用多态性,可能遇到的问题,与程序设计中的解决方法。 题目2、深入分析STL标准模板 list、vector等任选一个,查找并阅读源代码,总结如下内容: (1)内部成员 (2)接口 (3)内存管理方法 (4)有哪些封装方面的技巧 (5)应用中需要注意的问题或不足,结合程序实例的运行结果进行分析。

cppworks_exp2's People

Contributors

jarvet avatar

Watchers

James Cloos avatar Duan Yi  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.