# OOP_experiments **Repository Path**: myx1122/oop_experiments ## Basic Information - **Project Name**: OOP_experiments - **Description**: 第二次面向对象程序设计实验 - **Primary Language**: C++ - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-10-26 - **Last Updated**: 2025-10-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🎯 面向对象程序设计实验 - C++对C的改进和拓展 ## 📚 实验简介 山东师范大学 - 计工本2401班《面向对象程序设计》课程实验 **实验时间**:2025年10月26日 **指导教师**:张庆科 ## 🎯 实验目的 通过四个编程实验,掌握C++对C语言的改进和拓展特性,包括: - 🖥️ C++输入输出流控制 - 🎯 指向常量的指针使用 - 🔧 内联函数、默认参数、函数重载 - 🔄 引用传递和函数重载 ## 📋 实验内容 ### 🧮 实验一:学生成绩统计系统 **功能**:输入多名学生信息,计算平均分并输出成绩表 **涉及知识点**: - `cin`/`cout`输入输出流 - 格式化输出`setprecision` - 条件判断和循环结构 **输入格式**: ```text 3 LiMing 90 85.5 78 Wanghua 88 90 92 Zhangwei 70 68 75 ``` **输出示例**: ```text LiMing 90.00 85.50 78.00 84.50 Wanghua 88.00 90.00 92.00 90.00 Excellent Zhangwei 70.00 68.00 75.00 71.00 ``` ### 🔤 实验二:元音字母统计函数 **功能**:统计字符串中元音字母个数 **涉及知识点**: - 指向常量的指针`const char*` - 字符串遍历 - 字符处理函数`tolower` **核心函数**: ```cpp int countVowels(const char* p) 输入:Hello World 输出:Number of vowels: 3 LiMing 90.00 85.50 78.00 84.50 Wanghua 88.00 90.00 92.00 90.00 Excellent Zhangwei 70.00 68.00 75.00 71.00 ``` ### 🧮 实验三:多功能计算器 功能:实现包含多种运算方式的计算器 涉及知识点: 内联函数inline 默认参数值 函数重载 异常处理(除零错误) 包含函数: ```cpp inline double square(double x) double power(double base, int exponent = 2) double calc(double a, double b, char op) double calc(int a, int b, char op) // 重载 ``` ```text 示例: 输入:10 0 / 输出: square(10) = 100.00 power(10,3) = 1000.00 Error: divide by zero ``` ### 🔄 实验四:引用交换函数 功能:使用引用实现变量交换 涉及知识点: 引用传递int& 函数重载 参数传递方式 包含函数: ```cpp void swap(int& x, int& y) void swap(double& x, double& y) // 重载 输入:5 8 输出: Before swap: x=5, y=8 After swap: x=8, y=5 ``` ## 🛠️ 开发环境 💻 操作系统:Windows 10/11 🔧 开发工具:Visual Studio 2022 📝 编程语言:C++ ⚙️ 编译器:MSVC ## 📁 项目结构 ``` OOP-Experiments-2025/ ├── 📄 README.md # 项目说明文档 ├── 💻 Grades.cpp # 实验一:学生成绩统计 ├── 💻 Vowels.cpp # 实验二:元音字母统计 ├── 💻 Calculator.cpp # 实验三:多功能计算器 ├── 💻 Swap.cpp # 实验四:引用交换 └── ⚙️ .gitignore # Git忽略文件配置 ``` ## 🚀 快速开始 编译运行 使用Visual Studio打开对应.cpp文件 设置当前文件为启动项 按 Ctrl + F5 编译运行 单独运行每个实验 每个实验都是独立的,包含完整的main函数,只需在VS中设置对应的.cpp文件为启动项即可运行。 ## 📖 技术要点总结 ### 🖥️ C++输入输出改进 使用iostream代替stdio.h 格式化输出:fixed + setprecision(2) 类型安全输入输出 ### 🔧 函数特性 内联函数:减少函数调用开销 默认参数:提高函数灵活性 函数重载:同一函数名处理不同类型参数 ### 🎯 指针和引用 常量指针:const char*保护数据 引用传递:直接操作原变量,避免拷贝 ## 👥 作者信息 👨‍🎓 姓名:马芸曦 🏫 班级:计工本2401班 🆔 学号:202411000346 📄 许可证 本项目仅用于学习交流,遵循学校课程要求。