Why does the function arguments are called as "signatures"?
Answers were Sorted based on User's Feedback
Answer / arul
The arguments distinguish functions with the same name
(functional polymorphism). The name alone does not
necessarily identify a unique function. However, the name
and its arguments (signatures) will uniquely identify a
function.
In real life we see suppose, in class there are two guys
with same name, but they can be easily identified by
their signatures. The same concept is applied here.
ex:
class person
{
public:
char getsex();
void setsex(char);
void setsex(int);
};
In the above example we see that there is a function setsex
() with same name but with different signature.
Is This Answer Correct ? | 14 Yes | 2 No |
In the dynamic polymorphism the control has to distinguish
each function from other functions which has the same
function name.With the help of each method or function
arguments the control executes the function call,whenever it
is made.Each function call will be executed based on the
arguments passed.This is the reason, each function name
including the parameters or arguments has it own identity,
and this identification for the function is called
signature.Based on the signature, the control jumps from one
function to another in run time of the program.
Is This Answer Correct ? | 1 Yes | 0 No |
Answer / some guy
Actually, the answer is not complete, so as question is
not, let's say, "perfect". "signature" is not arguments
only, but plus "const"ness. For example in example above,
in class person there could be absolutely legal to have two
functions:
char getsex();
char getsex() const;
Though the answer would be ABSOLUTELY correct, so as the
question, in case we're talking about "functions" and NOT
about "member functions"
Is This Answer Correct ? | 1 Yes | 1 No |
Answer / ash
As function name, return type and arguments helps to
identify the function which needs to be invoked hence the
name signatures. In polymorphism there can be function
overload hence args and ret type along with name are required.
Is This Answer Correct ? | 0 Yes | 0 No |
What is Overloading ? Is it similar to overriding ?
What are all the languages which support oop?
Name some languages which have object oriented language and characteristics?
What is a ternary operator?
Explain colloboration
Explain about object oriented databases?
Is iterator a class or interface? What is its use?
What are the four phases of the Unified Process ?
Is is possible to define our own functional interface?
What is the difference between class and interface?
Explain what an object is.
Can an interface implement or extend another interface?