Skip to content

C++ Functions

Overview

Functions are reusable blocks of code that perform specific tasks. C++ extends C's function capabilities with features like function overloading, default parameters, and templates.

Basic Function Syntax

cpp
#include <iostream>

// Function declaration (prototype)
int add(int a, int b);
double multiply(double x, double y = 2.0);  // default parameter

// Function definition
int add(int a, int b) {
    return a + b;
}

double multiply(double x, double y) {
    return x * y;
}

int main() {
    int result1 = add(5, 3);
    double result2 = multiply(4.5);  // uses default y=2.0
    
    std::cout << "Addition: " << result1 << std::endl;
    std::cout << "Multiplication: " << result2 << std::endl;
    
    return 0;
}

Function Overloading

cpp
#include <iostream>
#include <string>

// Function overloading - same name, different parameters
int calculate(int a, int b) {
    return a + b;
}

double calculate(double a, double b) {
    return a * b;
}

std::string calculate(const std::string& a, const std::string& b) {
    return a + " " + b;
}

int main() {
    std::cout << calculate(5, 3) << std::endl;        // 8
    std::cout << calculate(2.5, 4.0) << std::endl;     // 10.0
    std::cout << calculate("Hello", "World") << std::endl; // Hello World
    
    return 0;
}

Inline Functions

cpp
inline int square(int x) {
    return x * x;
}

Content is for learning and research only.