Thread: Overloaded Functions...Can someone explain it to me

  1. #1
    Registered User
    Join Date
    Oct 2002

    Overloaded Functions...Can someone explain it to me

    I don't really understand it that well, can someone explain it or give me a link to a good tutorial, I'd really appreciate it. A sample code of how overloaded functions work would also be nice.

  2. #2
    I lurk
    Join Date
    Aug 2002
    Function overloading allows you to choose the same name for functions, and give them different signatures ("signature" refers to argument list). This allows the compiler to choose which "version" of a particular function to use based on the arguments passed to it.

    For example:

    int func(int i, char *string);
    double func(char *string);
    int func(char code);

    Careful of ambiguosity, something like this is quite confusing:

    int max(int i1, int i2 = 0);
    int max(int i1);

    Calling max(4); will generate an error, as the function call matches two function signatures.

  3. #3
    Just a Member ammar's Avatar
    Join Date
    Jun 2002
    In addition to what Elbro said you can use overloading to overload operators for user defined datatypes, which is also very useful.

  4. #4
    Is this also known as Polymorphism????

  5. #5
    Registered User
    Join Date
    Oct 2002
    No that would be something like this

    // Dog is ofcourse derived from mamel

    Mamel *theDog = new Dog;
    Well english isn't my first language, (it's instead a useless language called danish which only 5 milion people speak!!) so if you think my grammar SUCKS (it does by the way) than you're more then welcome to correct me.
    Hell I might even learn something

  6. #6
    I thought that Polymorphism was defined as having functions with the same names but different funtionalities such as


  7. #7
    Registered User
    Join Date
    Mar 2002
    class animal
        virtual void speak() {};
    class dog : class animal
        void speak() {cout << "bow wow" << endl;}
    class cat : class animal
         void speak() {cout << "prrrrrr...." << endl;}
    When I think of polymorphism I think of a function with the same name and the same parameters, but different response based on the class that it is being used in. See the speak() function above. Thus it polyorphism is similar to overloading--the functions have the same name but different output for in both-- but different as well--polymorphic functions have the same parameters whereas overloaded functions don't.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. An array of macro functions?
    By someprogr in forum C Programming
    Replies: 6
    Last Post: 01-28-2009, 07:05 PM
  2. Replies: 7
    Last Post: 11-17-2008, 01:00 PM
  3. Plz explain difference between functions returning ref
    By dudeomanodude in forum C++ Programming
    Replies: 8
    Last Post: 05-08-2008, 01:03 PM
  4. Attaching functions to a class/struct
    By VirtualAce in forum Tech Board
    Replies: 2
    Last Post: 08-04-2003, 10:56 AM
  5. pointers, functions, parameters
    By sballew in forum C Programming
    Replies: 3
    Last Post: 11-11-2001, 10:33 PM