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 |
Can we have a default method definition in the interface without specifying the keyword "default"?
How does abstraction differ from encapsulation.
How to resolve many to many relationship?
6 Answers InfoAxon Technologies, Protech, Samsung,
Can you use virtual, override or abstract keywords on an accessor of a static property?
Explain about object oriented databases?
What is polymorphism? When is it employed? give an example.
Classes and structs support inheritance. Is this statement true or false?
What is association?
Explain the use of Vtable and what are the various problems to override the functions?
What do you mean by Realization?
Is class an Object? Is object a class?
What is static and dynamic Binding?