C++继承与派生示例:地球类实现与输出

需积分: 0 0 下载量 148 浏览量 更新于2024-08-04 收藏 102KB DOCX 举报
本次实验涉及的主题是C++编程中的面向对象概念,特别是继承和派生的概念。两个不同的源代码示例展示了这些核心概念在实际应用中的运用。 第一个示例中,我们有名为`planet`的基本类,它具有两个保护成员变量:`distance`表示行星与太阳的距离,`revolve`表示行星的自转周期。类构造函数分为默认构造函数和参数构造函数,分别用于初始化默认值和接受外部参数。`earth`类作为`planet`的派生类,增加了一个成员变量`circumference`,表示地球的周长,初始化时根据输入的距离计算出来。`earth`类还定义了一个`show()`函数,用于显示类的属性。在`main`函数中,创建了一个`earth`对象,并通过用户输入设置参数,然后调用`show()`函数展示结果。 运行结果显示了地球的周长、距离和自转周期,程序以退出代码0成功结束。 第二个示例涉及一个更复杂的层次结构,`Person`类是基类,它有一个指向字符数组的指针`name`,用于存储个人姓名,以及一个构造函数和析构函数来管理内存。构造函数中动态分配了`name`,并在创建时打印出"Baseconstructor",析构函数在对象销毁时处理内存释放并打印"Basedestructor"。`Student`类是`Person`的派生类,新增了`score`和`age`两个私有成员变量,并重写了`show()`函数以显示学生的姓名和成绩。这个例子展示了派生类如何扩展基类的功能,并且在对象生命周期管理上遵循了良好实践。 这两个实验着重于理解面向对象编程中的继承机制,即派生类(如`earth`和`Student`)可以继承基类(如`planet`和`Person`)的属性和方法,同时也可以添加自己的特性和行为。通过实例化和操作这些类,学生可以加深对封装、继承和多态等面向对象特性在实际项目中的应用理解。