C++ Programming - OOPS Concepts - Discussion

Discussion Forum : OOPS Concepts - General Questions (Q.No. 7)
7.
Which of the following concept of oops allows compiler to insert arguments in a function call if it is not specified?
Call by value
Call by reference
Default arguments
Call by pointer
Answer: Option
Explanation:
No answer description is available. Let's discuss.
Discussion:
22 comments Page 1 of 3.

Amol said:   1 decade ago
Eg : Call by value.

include <stdio.h>

/* function declaration */
void swap(int x, int y);

int main ()
{
/* local variable definition */
int a = 100;
int b = 200;

printf("Before swap, value of a : %d\n", a );
printf("Before swap, value of b : %d\n", b );

/* calling a function to swap the values */
swap(a, b);

printf("After swap, value of a : %d\n", a );
printf("After swap, value of b : %d\n", b );

return 0;
}

Eg : call by reference & call by pointer one all the same.

#include <stdio.h>

/* function declaration */
void swap(int *x, int *y);

int main ()
{
/* local variable definition */
int a = 100;
int b = 200;

printf("Before swap, value of a : %d\n", a );
printf("Before swap, value of b : %d\n", b );

/* calling a function to swap the values.
* &a indicates pointer to a ie. address of variable a and
* &b indicates pointer to b ie. address of variable b.
*/
swap(&a, &b);

printf("After swap, value of a : %d\n", a );
printf("After swap, value of b : %d\n", b );

return 0;
}

Devyashish Mayank said:   1 decade ago
For call by value it means we pass a certain value (a no. ) to the function as parameter. While in case of call by pointer it means that we pass a pointer as an argument to it which points to certain address. In case of call by reference we simply provide an address to the function as an argument or parameter to get the desired result.

Shalu said:   1 decade ago
In call by reference: We passes the value in calling time.

And call by reference: We pass the address in calling time.

Call by reference:

void swap(int &x, int &y)
{
..
....

}

swap(a, b);
call by pointer:
void swap(int *x, int *y)
{
...
..

}

swap(&a, &b);
(2)

Lachu said:   1 decade ago
The difference between the call by value and call by reference are :The original value is not affected in call by value. That is only copies the value. Original value is affected in call by reference. That is value is changed after calling it.

Vish said:   1 decade ago
Actually I made the guess by thinking that call by reference and call by pointer is one and the same thing and concept of call by value is clear from which we can easily conclude that answer will be the option 'C'.

Prashant Sable said:   1 decade ago
In call reference we pass address so actual parameter value get change.

In call by value formal parameter get copied into actual parameter so actual parameter doesn't change as both have different memory.

Sri said:   1 decade ago
Actuvally primitive data types are used call by valu where as objects are passed by call by reference. About default arguments if we are not give the arguments compiler set the default arguments.

Gaurav Walia said:   1 decade ago
Here it means that suppose you have not given any argument in the function call so by default it would take a value you already specified. This is called function with default parameters.

Durgesh said:   9 years ago
It means that suppose you have not given any argument in the function call so by default it would take a value you already specified. This is called a function with default parameters.

Nikhil said:   1 decade ago
Pointer also carries a address n reference also carries a address then what is the difference between call by pointer and call by reference.
(1)


Post your comments here:

Your comments will be displayed after verification.