#include <iostream>
using namespace std;
// 函数声明
void greet();
int add(int a, int b);
int main() {
greet();
int result = add(5, 3);
cout << "5 + 3 = " << result << endl;
return 0;
}
// 函数定义
void greet() {
cout << "你好,欢迎学习C++!" << endl;
}
int add(int a, int b) {
return a + b;
}
值传递:
#include <iostream>
using namespace std;
void changeValue(int x) {
x = 100; // 只改变副本,不影响原变量
}
int main() {
int num = 10;
changeValue(num);
cout << "num = " << num << endl; // 输出10
return 0;
}
#include <iostream>
using namespace std;
// 函数重载:函数名相同,参数不同
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
int add(int a, int b, int c) {
return a + b + c;
}
int main() {
cout << add(5, 3) << endl; // 调用第一个
cout << add(5.5, 3.2) << endl; // 调用第二个
cout << add(1, 2, 3) << endl; // 调用第三个
return 0;
}
#include <iostream>
using namespace std;
// 默认参数必须从右向左设置
void printInfo(string name, int age = 18, string city = "北京") {
cout << "姓名:" << name << endl;
cout << "年龄:" << age << endl;
cout << "城市:" << city << endl;
}
int main() {
printInfo("张三"); // 使用默认值
printInfo("李四", 25); // 部分使用默认值
printInfo("王五", 30, "上海"); // 不使用默认值
return 0;
}
#include <iostream>
using namespace std;
// 计算阶乘
int factorial(int n) {
if (n <= 1) {
return 1; // 递归终止条件
}
return n * factorial(n - 1); // 递归调用
}
// 斐波那契数列
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
cout << "5的阶乘:" << factorial(5) << endl;
cout << "第7个斐波那契数:" << fibonacci(7) << endl;
return 0;
}
#include <iostream>
using namespace std;
// 内联函数:建议编译器将函数代码插入到调用处
inline int square(int x) {
return x * x;
}
int main() {
cout << "5的平方:" << square(5) << endl;
return 0;
}
#include <iostream>
using namespace std;
int add(int a, int b) {
return a + b;
}
int subtract(int a, int b) {
return a - b;
}
int main() {
// 声明函数指针
int (*operation)(int, int);
operation = add;
cout << "5 + 3 = " << operation(5, 3) << endl;
operation = subtract;
cout << "5 - 3 = " << operation(5, 3) << endl;
return 0;
}