C++ · C++ Beginner

Operator Overloading in C++

Run this in the Online C++ compiler

Introduction

Hello Coders!

Operator Overloading allows you to imbue your custom objects with intuitive and meaningful behaviors, offering a powerful mechanism for code expressiveness. In this exploration, we'll delve into the creative potential of Operator Overloading, discovering how it elevates the elegance and flexibility of C++ programming.

Basics of Operator Overloading

Operator overloading in C++ allows you to redefine the behavior of operators for user-defined types, such as classes. This enables you to use familiar operators with custom classes, making your code more expressive.

Here's an example of overloading the + operator for a Complex class:

#include <iostream>
class Complex {
    public:
    Complex() : real(0), imag(0) {}
    Complex(double r, double i) : real(r), imag(i) {}
    // Overloading the + operator
    Complex operator+(const Complex& other) const {
        return Complex(real + other.real, imag + other.imag);
    }
    // Display function for printing complex numbers
    void display() const {
        std::cout << "Real: " << real << ", Imaginary: " << imag << std::endl;
    }
    private:
    double real;
    double imag;
};
int main() {
    // Create two complex numbers
    Complex num1(2.5, 3.0);
    Complex num2(1.5, 2.0);
    // Use the overloaded + operator
    Complex result = num1 + num2;
    // Display the result
    std::cout << "Result of addition:" << std::endl;
    result.display();
    return 0;
}

In this example, the + operator is overloaded as a member function of the Complex class, allowing you to add two complex numbers using the familiar + notation.

Exercise: Overload a Mathematical Operator for a Custom Class

Now, let's practice overloading a mathematical operator for a custom class.

Conclusion

Feel free to modify the Vector class and the operator you overload. This exercise will help you gain hands-on experience with operator overloading in C++.

Delving into Operator Overloading in C++ enriches your programming toolkit, enabling you to imbue your classes with custom behaviors for familiar operators. Happy coding!

This website uses cookies to ensure you get the best experience on our website.