• C++入门及简单例子_4


    1. 类和对象:

    #include   // 包含输入输出流库的头文件
    
    class Rectangle {  // 定义名为Rectangle的类
    private:  // 私有成员变量部分
        double length;  // 长度
        double width;   // 宽度
    
    public:  // 公有成员函数部分
        Rectangle(double len, double wid) {  // 构造函数,用于初始化对象的属性
            length = len;
            width = wid;
        }
    
        double getArea() {  // 计算矩形面积的成员函数
            return length * width;
        }
    };
    
    int main() {  // 主函数
        Rectangle rectangle(5.0, 3.0);  // 创建Rectangle类的对象rectangle,并调用构造函数初始化其属性
        double area = rectangle.getArea();  // 调用对象的成员函数来计算矩形的面积
        std::cout << "Area: " << area << std::endl;  // 输出矩形的面积
    
        return 0;  // 返回0,表示程序成功执行
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    这个示例演示了如何创建一个简单的类(Rectangle)和对象(rectangle)。类具有私有成员变量(length和width)和公有成员函数(getArea),并通过使用构造函数来初始化对象的属性。

    2. 继承和多态:

    #include   // 包含输入输出流库的头文件
    
    class Shape {  // 定义名为Shape的类
    public:  // 公有成员函数部分
        virtual void draw() {  // 定义虚函数draw,用于绘制形状
            std::cout << "Drawing a shape." << std::endl;  // 输出绘制形状的消息
        }
    };
    
    class Circle : public Shape {  // 定义名为Circle的类,继承自Shape类
    public:  // 公有成员函数部分
        void draw() override {  // 重写基类的虚函数draw,用于绘制圆形
            std::cout << "Drawing a circle." << std::endl;  // 输出绘制圆形的消息
        }
    };
    
    class Rectangle : public Shape {  // 定义名为Rectangle的类,继承自Shape类
    public:  // 公有成员函数部分
        void draw() override {  // 重写基类的虚函数draw,用于绘制矩形
            std::cout << "Drawing a rectangle." << std::endl;  // 输出绘制矩形的消息
        }
    };
    
    int main() {  // 主函数
        Shape* shape1 = new Circle();  // 创建Shape类的指针shape1,并使用Circle类初始化它
        Shape* shape2 = new Rectangle();  // 创建Shape类的指针shape2,并使用Rectangle类初始化它
    
        shape1->draw();  // 调用shape1指针指向的对象的draw函数,实际上会调用Circle类的draw函数
        shape2->draw();  // 调用shape2指针指向的对象的draw函数,实际上会调用Rectangle类的draw函数
    
        delete shape1;  // 释放shape1指针指向的对象的内存
        delete shape2;  // 释放shape2指针指向的对象的内存
    
        return 0;  // 返回0,表示程序成功执行
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    此示例展示了继承和多态的概念。基类Shape定义了虚函数draw,派生类Circle和Rectangle分别重写了该函数。在主函数中,通过指向基类的指针,可以实现多态调用,根据对象的实际类型调用相应的draw函数。

    3. 文件操作:

    #include   // 包含输入输出流库的头文件
    #include    // 包含文件流库的头文件
    
    int main() {  // 主函数
        std::ofstream file("example.txt");  // 创建一个名为"example.txt"的输出文件流对象file
    
        if (file.is_open()) {  // 检查文件流是否成功打开
            file << "Hello, file!";  // 向文件中写入文本内容
            file.close();  // 关闭文件流
            std::cout << "File created and written successfully." << std::endl;  // 输出文件创建和写入成功的消息
        } else {
            std::cout << "Failed to create file." << std::endl;  // 输出文件创建失败的消息
        }
    
        return 0;  // 返回0,表示程序成功执行
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    这个示例展示了如何使用文件流(ofstream)创建一个文件并写入内容。首先,我们尝试打开文件,如果成功打开,就将文本写入文件中。最后,我们关闭文件并输出相应的消息。

    这些示例程序涵盖了一些进阶的C++概念,如类和对象、继承和多态,以及文件操作。通过学习和实践这些示例,进一步提高C++编程技能,并能够处理更复杂的问题。

  • 相关阅读:
    Day724. 如何改进代码废弃 -Java8后最重要新特性
    快速排序--QuickSort()--递归版本
    前端基础知识
    【静态代码质量分析工具】上海道宁为您带来SonarSource/SonarQube下载、试用、教程
    XPS表征(工作原理与特点)-科学指南针
    laravel 安装后台管理系统, filament.
    MyBatis获取参数值的两种方式
    一文了解JVM整体设计
    Tomcat运行常见问题
    网络——IPV4地址(二)
  • 原文地址:https://blog.csdn.net/ultramand/article/details/133053422