当前位置: 首页 > java >正文

c++算法-(1)

C++ 里有多种类型的函数,下面为你介绍不同用途的函数示例。

1. 普通函数

下面的add函数能对两个整数进行相加操作。

cpp

#include <iostream>// 定义add函数,用于计算两个整数的和
int add(int a, int b) {return a + b;
}int main() {int num1 = 5;int num2 = 3;int result = add(num1, num2);std::cout << "两数之和为: " << result << std::endl;return 0;
}

2. 递归函数

递归函数是指在函数的定义中使用函数自身的方法。以下是计算阶乘的递归函数示例。

cpp

#include <iostream>// 定义factorial函数,用于计算一个数的阶乘
int factorial(int n) {if (n == 0 || n == 1) {return 1;} else {return n * factorial(n - 1);}
}int main() {int number = 5;int result = factorial(number);std::cout << number << " 的阶乘是: " << result << std::endl;return 0;
}

3. 带默认参数的函数

在 C++ 里,函数参数可以设置默认值。下面是一个带有默认参数的函数示例。

cpp

#include <iostream>// 定义printInfo函数,包含默认参数
void printInfo(std::string name = "未知", int age = 0) {std::cout << "姓名: " << name << ", 年龄: " << age << std::endl;
}int main() {printInfo();printInfo("张三", 25);return 0;
}

4. 内联函数

内联函数可减少函数调用的开销。下面是一个简单的内联函数示例。

cpp

#include <iostream>// 定义内联函数square,用于计算一个数的平方
inline int square(int num) {return num * num;
}int main() {int number = 4;int result = square(number);std::cout << number << " 的平方是: " << result << std::endl;return 0;
}

5. 函数重载

函数重载允许在同一作用域内定义多个同名函数,但它们的参数列表不同。以下是函数重载的示例。

cpp

#include <iostream>// 定义add函数,用于计算两个整数的和
int add(int a, int b) {return a + b;
}// 重载add函数,用于计算两个浮点数的和
double add(double a, double b) {return a + b;
}int main() {int intResult = add(3, 5);double doubleResult = add(3.2, 5.6);std::cout << "整数相加结果: " << intResult << std::endl;std::cout << "浮点数相加结果: " << doubleResult << std::endl;return 0;
}

以上这些示例基本涵盖了 C++ 中常见的函数类型,你可以根据自己的需求来修改和使用。

http://www.xdnf.cn/news/889.html

相关文章:

  • Precision Machine Dynamics/Mechatronics Design - 5
  • 算法工程师面试题与参考答案资料(2025年版)
  • Python实例题:Pvthon3实现简单的FTP认证服
  • Pycharm(九)函数的闭包、装饰器
  • 【TeamFlow】4.1 Git使用指南
  • 高级java每日一道面试题-2025年4月19日-微服务篇[Nacos篇]-Nacos未来的发展方向和规划有哪些?
  • mac 本地 docker 部署 nacos
  • 本地搭建一个简易版本的 Web3 服务
  • 【Easylive】AdminFilter 详细解析
  • Sentinel源码—7.参数限流和注解的实现一
  • 经典算法 输出在环上的点
  • 【阿里云大模型高级工程师ACP学习笔记】2.1 用大模型构建新人答疑机器人
  • 绿色体育直播赛事扁平自适应M25直播模板源码
  • Qt项目——汽车仪表盘
  • git详解
  • Vue v-for 循环DOM 指定dom个数展示一行
  • 【图像变换】pytorch-CycleGAN-and-pix2pix的学习笔记
  • Git 大文件使用 Git-LFS 管理,推送失败
  • .NET WPF 三维模型
  • 【xlog日志文件】怎么删除里面包含某些字符串的行(使用excel)
  • 垂直行业突围:工业软件在汽车、航空领域的 “破壁” 实践
  • 星云智控科技-优雅草星云物联网AI智控系统软件产品技术栈一览表-优雅草卓伊凡
  • android的 framework 是什么
  • 【MySQL】数据库安装
  • 第十四届蓝桥杯 2023 C/C++组 平方差
  • NLTK 基础入门:用 Python 解锁自然语言处理
  • 【回眸】error: failed to compile `xxxxxx`重装rust环境
  • 【数据结构和算法】4. 链表 LinkedList
  • 87233系列USB连续波功率探头
  • git远程分支重命名(纯代码操作)