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 are all the languages which support oop?
What are the rules to define a functional interface?
What are the four phases of the Unified Process ?
What are abstract methods?
What is the purpose of late binding in object-oriented programming?
What is bootstrap, extension and system class loader? Or can you explain primordial class loader?
What is a nested interface?
What is the difference between multiple and multilevel inheritance?
What is the use of destructive method?
Explain what an object is.
Describe the Diamond problem. Where does this problem occur?
Explain about parametric polymorphism?