int add(int a, int b) {
return a + b;
}
double calculateArea(double radius) {
const double PI = 3.14159;
return PI * radius * radius;
}
bool isPrime(int number) {
if (number <= 1) return false;
if (number <= 3) return true;
if (number % 2 == 0 || number % 3 == 0) return false;
for (int i = 5; i * i <= number; i += 6) {
if (number % i == 0 || number % (i + 2) == 0) {
return false;
}
}
return true;
}
#include <iostream>
// Function declaration (prototype)
int multiply(int a, int b);
void printMessage(std::string message);
int main() {
int result = multiply(5, 3);
std::cout << "Result: " << result << std::endl;
printMessage("Hello from function!");
return 0;
}
// Function definition
int multiply(int a, int b) {
return a * b;
}
void printMessage(std::string message) {
std::cout << message << std::endl;
}
#include <iostream>
#include <string>
// Function with default parameters
void greet(std::string name = "User", int times = 1) {
for (int i = 0; i < times; i++) {
std::cout << "Hello, " << name << "!" << std::endl;
}
}
// Function with reference parameters
void swap(int& a, int& b) {
int temp = a;
a = b;
b = temp;
}
int main() {
greet(); // Uses defaults
greet("Alice"); // Custom name, default times
greet("Bob", 3); // Custom name and times
int x = 5, y = 10;
std::cout << "Before: x=" << x << ", y=" << y << std::endl;
swap(x, y);
std::cout << "After: x=" << x << ", y=" << y << std::endl;
return 0;
}
#include <iostream>
#include <string>
// Overloaded functions with same name but different parameters
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
std::string add(std::string a, std::string b) {
return a + " " + b;
}
int add(int a, int b, int c) {
return a + b + c;
}
int main() {
std::cout << "add(5, 3) = " << add(5, 3) << std::endl;
std::cout << "add(3.14, 2.86) = " << add(3.14, 2.86) << std::endl;
std::cout << "add(\"Hello\", \"World\") = " << add("Hello", "World") << std::endl;
std::cout << "add(1, 2, 3) = " << add(1, 2, 3) << std::endl;
return 0;
}
#include <iostream>
// Recursive factorial function
int factorial(int n) {
if (n <= 1) {
return 1;
}
return n * factorial(n - 1);
}
// Recursive Fibonacci function
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
// Recursive GCD function
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
int main() {
std::cout << "Factorial of 5: " << factorial(5) << std::endl;
std::cout << "Fibonacci(8): " << fibonacci(8) << std::endl;
std::cout << "GCD of 48 and 18: " << gcd(48, 18) << std::endl;
return 0;
}
#include <iostream>
// Inline function for simple operations
inline int square(int x) {
return x * x;
}
inline int cube(int x) {
return x * x * x;
}
inline bool isEven(int x) {
return (x % 2 == 0);
}
int main() {
int num = 5;
std::cout << "Number: " << num << std::endl;
std::cout << "Square: " << square(num) << std::endl;
std::cout << "Cube: " << cube(num) << std::endl;
std::cout << "Is even: " << (isEven(num) ? "Yes" : "No") << std::endl;
return 0;
}
#include <iostream>
// Function declarations
int add(int a, int b) { return a + b; }
int subtract(int a, int b) { return a - b; }
int multiply(int a, int b) { return a * b; }
int main() {
// Function pointer declaration
int (*operation)(int, int);
int x = 10, y = 5;
// Point to different functions
operation = add;
std::cout << "Addition: " << operation(x, y) << std::endl;
operation = subtract;
std::cout << "Subtraction: " << operation(x, y) << std::endl;
operation = multiply;
std::cout << "Multiplication: " << operation(x, y) << std::endl;
return 0;
}