C++程序设计:面向对象实现形状类与面积计算

5星 · 超过95%的资源 需积分: 9 26 下载量 56 浏览量 更新于2024-11-26 收藏 84KB DOC 举报
"这篇资料是关于中山大学计算机科学与技术专业的一次实践考核,主要针对C++程序设计的上机考试。考核内容涉及到面向对象编程,要求学生从基础的Shape类派生出具体形状的子类,如Triangle(三角形)和Rectangle(矩形),并实现各自的面积计算方法。此外,还提供了Total函数来计算一组形状对象的总面积。试题包含两部分,第一个样题是设计和验证形状类及其派生类的面积计算,第二个样题涉及设计一个类来记录加油站无铅汽油和有铅汽油的销售情况。" 在C++程序设计中,面向对象编程是一种重要的思想,它将数据和操作数据的方法封装在一起,形成类。在这个考核中,Shape类是一个抽象类,拥有一个纯虚函数`area()`,用于计算形状的面积。抽象类不能被实例化,但可以作为基类,用于派生其他具体形状的类。 首先,题目要求从Shape类派生出Triangle类和Rectangle类。Triangle类需要存储两个数据成员(高H和宽W),并实现`area()`函数,返回面积的一半,即`H*W*0.5`。Rectangle类则继承自Triangle类,因为矩形可以看作是特殊的三角形,其面积直接为高和宽的乘积`H*W`。Rectangle类的构造函数需要初始化这两个数据成员,并覆盖`area()`函数。 Total函数是一个接收Shape对象数组和数组长度的函数,通过循环遍历数组,调用每个对象的`area()`函数累加求和,最后返回总面积。在主函数`main()`中,创建了Triangle和Rectangle对象的动态数组,并通过Total函数计算总面积,然后输出结果。 样题二是设计一个类来管理加油站的销售数据。类应包含三个私有数据成员:unlead(无铅汽油销售量)、lead(有铅汽油销售量)和total(当天总收入)。为了计算总收入,需要设定合适的公有方法,比如一个方法用于添加销售记录,另一个方法用于计算总收入。无铅汽油的价格是17元/升,有铅汽油的价格是16元/升,所以计算总收入时需要结合销售量和单价。 这个实践考核旨在检验学生对C++面向对象编程的理解,包括类的定义、继承、多态以及如何使用这些概念来解决问题。同时,也考察了学生对于数据结构的运用,例如动态数组和指针的操作。通过这样的实践考核,学生可以更好地掌握C++语言的高级特性,并提升实际编程能力。