Difference between Operator overloading and Functional
overloading?

Answer Posted / ok

Function overloading is like you have different functions
with the same name but different signatures working
differently. So, the compiler can differentiate and find
out which function to call depending on the context. In
case of operator overloading, you try to create your own
functions which are called when the corresponding operator
is invoked for the operands.

One important thing to understand is that you can create as
many functions as you want with the same name and sifferent
signatures so that they can work diffrently but for a
particular class, you cannot overload the operator function
based on number of arguments. There is a fundamental reason
behind this.

According to the rules, you can not create your own
operators but you have to use already available operators.
Another thing is since the operator are already defined for
use with buily-in types you can not change their
charecteristics. For example the binary operator '+' always
takes two parameters, so for this you cannot create a
function that takes three parameters. But you can always
overload them based on the type of the parameters.

Is This Answer Correct ?    16 Yes 11 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Can I learn c++ without knowing c?

581


What is the default width for ouputting a long integer using the insertion operator?

678


Do you know what are static and dynamic type checking?

610


What is a list c++?

564


How can you create a virtual copy constructor?

574






Does c++ cost money?

568


What is string in c++ programming?

608


What is c++ course?

572


What is flush () in c++?

569


Which sort does c++ use?

568


What is purpose of abstract class?

575


How do you establish an is-a relationship?

612


Differentiate between an external iterator and an internal iterator?

562


Explain what happens when a pointer is deleted twice?

727


What are features of c++?

622