C++ STL基础:面向对象编程实践与形状类继承

需积分: 5 0 下载量 67 浏览量 更新于2024-08-03 收藏 69KB DOC 举报
本文档主要探讨了C++ STL(Standard Template Library,标准模板库)的基础概念及其在实际编程中的应用,特别是通过面向对象编程的方式进行实现。实验的目标是复习和巩固C++编程语言知识,包括类、继承、构造函数、成员方法以及覆盖(重写)父类的方法。 首先,实验使用的是Codeblocks IDE,它是一个开源的集成开发环境,适合C++程序的开发。实验的核心是设计一个名为Shape的基类,它包含了基本的属性(如string类型的name)和方法(如构造函数、getName、getArea和printDimensions)。构造函数接受一个字符串参数并初始化name,getArea方法返回0.0,而printDimensions方法由于是抽象的,仅输出提示信息。 接下来,实验要求创建四个类,它们继承自Shape类:Square(长方形)、Circle(圆)、Triangle(三角形)和EquilateralTriangle(等边三角形)。这些子类分别对应不同的几何形状,并扩展了Shape类的特性: 1. 每个子类的构造函数都需要接收一个name参数,并调用父类Shape的构造函数,以确保正确的初始化。 2. setDimensions方法根据形状的不同特性接受相应的参数:Square需要长度和高度,Circle需要半径,Triangle需要三个边,而EquilateralTriangle只需要一个边。 3. 重写了printDimensions方法,使其输出每个形状的具体尺寸。例如,长方形会显示长和宽,圆会显示半径,三角形会显示三边,等边三角形只显示一边。 4. getArea方法被覆盖,用于计算每个形状的面积。对于Triangle类,使用海伦公式来计算,需要用户输入三个边长,然后根据公式计算面积。 5. 在主类中,通过main函数创建这些形状的实例,用户被引导输入每个形状的名字和相应的尺寸。这些信息将用于实例化相应的形状对象,并在控制台中显示每个形状的名字。 本实验不仅涵盖了C++基础语法,还涉及到面向对象编程的核心概念,如类的继承、多态和覆盖方法,以及实用的数学计算(如海伦公式)。通过实践这些内容,学习者能够加深对C++ STL的理解,并提高编程技能。