C++ 单级继承

C++C++Beginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习如何在 C++ 编程语言中演示单级继承(Single Level Inheritance)的概念。你将创建两个类,一个父类和一个子类,其中子类(派生类)将继承父类(基类或超类)的特性(属性和方法)。

创建 main.cpp 文件

首先,使用以下命令在 ~/project 目录下创建一个 main.cpp 文件:

touch ~/project/main.cpp

编写代码

将以下代码复制并粘贴到你的 main.cpp 文件中:

#include <iostream>
// 包含所需的库

using namespace std;

// 声明一个名为 "Shape" 的父类(基类)
class Shape {
    public:
        float area(float l, float b) { // 计算形状面积的方法
            return (l * b);
        }

        float perimeter(float l, float b) { // 计算形状周长的方法
            return (2 * (l + b));
        }
};

// 声明一个名为 "Rectangle" 的子类(派生类),它继承自 Shape 类
class Rectangle: private Shape {
    private:
        float length,
        breadth;

    public:
        Rectangle(): length(0.0), breadth(0.0) {} // Rectangle 的默认构造函数

        void getDimensions() { // 从用户获取矩形尺寸的方法
            cout << "\n输入矩形的长度:";
            cin >> length;

            cout << "\n输入矩形的宽度:";
            cin >> breadth;
        }

        // 使用 Shape 类计算矩形周长的方法
        float perimeter() {
            // 调用 Shape 类的 perimeter() 方法并返回结果
            return Shape::perimeter(length, breadth);
        }

        // 使用 Shape 类计算矩形面积的方法
        float area() {
            // 调用 Shape 类的 area() 方法并返回结果
            return Shape::area(length, breadth);
        }
};

int main() {
    // 创建 Rectangle 类的对象
    Rectangle rect;

    // 欢迎信息
    cout << "\n\n欢迎来到单级继承程序!\n";

    // 给用户的信息
    cout << "\nRectangle 类继承自 Shape 类。\n\n";

    // 从用户获取矩形的尺寸
    rect.getDimensions();

    // 使用父类 Shape 计算矩形的周长并显示结果
    cout << "\n使用父类 Shape 计算的矩形周长:" << rect.perimeter() << "\n";

    // 使用父类 Shape 计算矩形的面积并显示结果
    cout << "使用父类 Shape 计算的矩形面积:" << rect.area() << "\n\n";

    return 0;
}

编译并运行代码

接下来,使用以下命令编译代码:

g++ main.cpp -o main && ./main

然后,使用以下命令运行代码:

./main

理解输出

运行程序后,你将看到以下输出:

欢迎来到单级继承程序!

Rectangle 类继承自 Shape 类。

输入矩形的长度: 5

输入矩形的宽度: 10

使用父类 Shape 计算的矩形周长: 30
使用父类 Shape 计算的矩形面积: 50

程序会提示用户输入矩形的长度和宽度。获取尺寸后,它会使用父类 Shape 中的 perimeter()area() 函数计算矩形的周长和面积。

总结

恭喜!你已经成功编写了一个演示单级继承概念的 C++ 程序。你可以尝试不同的形状,程序的输出将准确反映任何新派生类的计算结果。