C++ Function Examples

🔧 C++ Function Examples

Below are clear and practical C++ function examples, from basic to advanced, to help you understand how functions are used in real programs.


1. Simple Function (No Parameters, No Return)

void greet() {
cout << "Hello, World!";
}

int main() {
greet();
}


2. Function with Parameters

void greetUser(string name) {
cout << "Hello " << name;
}

int main() {
greetUser("Sanjit");
}


3. Function with Return Value

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

int main() {
cout << add(10, 20);
}


4. Function with Multiple Parameters

int multiply(int a, int b, int c) {
return a * b * c;
}

int main() {
cout << multiply(2, 3, 4);
}


5. Pass by Value Example

void change(int x) {
x = 50;
}

int main() {
int a = 10;
change(a);
cout << a; // 10 (unchanged)
}


6. Pass by Reference Example

void change(int &x) {
x = 50;
}

int main() {
int a = 10;
change(a);
cout << a; // 50
}


7. Function with Array Parameter

void printArray(int arr[], int size) {
for (int i = 0; i < size; i++)
cout << arr[i] << " ";
}

int main() {
int a[] = {1, 2, 3, 4};
printArray(a, 4);
}


8. Function Returning an Array (Dynamic)

int* createArray() {
int *arr = new int[3]{10, 20, 30};
return arr;
}

int main() {
int *a = createArray();
delete[] a;
}


9. Recursive Function (Factorial)

int factorial(int n) {
if (n == 1)
return 1;
return n * factorial(n - 1);
}

int main() {
cout << factorial(5);
}


10. Function Overloading

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

double add(double a, double b) {
return a + b;
}

int main() {
cout << add(5, 10) << endl;
cout << add(2.5, 3.5);
}


11. Default Parameters Example

int power(int base, int exp = 2) {
int result = 1;
for (int i = 0; i < exp; i++)
result *= base;
return result;
}

int main() {
cout << power(5) << endl; // 25
cout << power(5, 3); // 125
}


12. Function with Structure Parameter

struct Student {
string name;
int marks;
};

void show(const Student &s) {
cout << s.name << " " << s.marks;
}

int main() {
Student s1 = {"Amit", 90};
show(s1);
}


13. Inline Function

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

int main() {
cout << square(5);
}


14. Function Returning a Structure

struct Point {
int x, y;
};

Point createPoint() {
return {10, 20};
}

int main() {
Point p = createPoint();
cout << p.x << " " << p.y;
}


📌 Key Takeaways

  • Functions make code reusable and modular

  • Can accept parameters and return values

  • Support reference, pointers, arrays, recursion

  • Improve readability and maintenance

  • Essential for real-world C++ programs

You may also like...