int multiply(int a, int b = 2) {
return a * b;
}
int main() {
std::cout << multiply(5) << std::endl; // 输出 10
std::cout << multiply(5, 3) << std::endl; // 输出 15
return 0;
}
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
int main() {
std::cout << add(3, 4) << std::endl; // 调用 int 版本
std::cout << add(3.5, 2.1) << std::endl; // 调用 double 版本
return 0;
}
inline int square(int x) {
return x * x;
}
int main() {
std::cout << square(5) << std::endl;
return 0;
}
int factorial(int n) {
if (n == 0)
return 1;
return n * factorial(n - 1);
}
int main() {
std::cout << "Factorial of 5: " << factorial(5) << std::endl;
return 0;
}
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;
std::cout << operation(3, 4) << std::endl; // 调用 add
operation = subtract;
std::cout << operation(7, 2) << std::endl; // 调用 subtract
return 0;
}
auto add = [](int a, int b) {
return a + b;
};
int main() {
std::cout << add(3, 4) << std::endl; // 输出 7
return 0;
}
template <typename T>
T add(T a, T b) {
return a + b;
}
int main() {
std::cout << add(3, 4) << std::endl; // 输出 int 7
std::cout << add(3.5, 4.2) << std::endl; // 输出 double 7.7
return 0;
}