output writing, pass by ref/pass by value – Computer Sir Ki Class

Login


Lost your password?

Don't have an account ?
Register (It's FREE) ×
  

Login
[lwa]



Solved Problem! #CPP#2652 siteicon   siteicon   siteicon  

Problem Statement - output writing, pass by ref/pass by value

Write the output of the following code piece.

TC++ #2652

Solution


Run Output

@@@@

char a=’#’,b=’@’; //These are initial values of a and b

domywork(a,b); 
When we pass values here the value of a is passed by reference so its value is likely to be changed by the function. The moment function puts y into x. It actually puts value of b into a. So the b will remain same whatever function does to it as it is not passed by reference..

cout<<a<<b;
This will print @@ as explained above.

domywork(b,a);
Since both b and a have already become @ so the changes the function call operations will happen but they will actually not change any values.

cout<<a<<b;
So this will further print @@. So final output would be @@@@
return 0;
}

void domywork(char &x,char y)
This passes first variable by reference and second by value.
{
x=y;  Original value as passed in x will be overwritten by y
y=x;  y will be overwritten by new x but the original y will not be affected as it is passed by value.

}

Common Errors

  • Such programs should be manually dry run to avoid errors.
  • Student often forget that in the case of second run of the functions both the original variables are already changed.


Share

sunmitra| Created: 15-Jan-2018 | Updated: 15-Jan-2018|






×
Introductory Sessions Beginning to Program Tokens Keyword and Identifiers Data Types Variables and Constants Operators Simple User Input Building Expressions and Formulas Simple Real World Problems Simple If and If Else Multiple-Nested-Ladder of If Else Switch case selection Simple Loops Tricks in Loops - break continue scope Loop Applications - Handling numerals Series printing loops Nested Loops Pattern printing loops Number Varieties and Crunches String Handling (Null Terminated) Strings - string class type Functions (Built-in) Functions - user defined Functions Reference Passing/Returning Arrays Concepts and 1-D Arrays Array Data Management Two dimensional arrays and Matrices Structures Basics Structures passing/returning 2D Array Memory Addressing Display Using IO Manipulation Display Using C Formatting Tricks User Defined Data Types Enumerated Types Preprocessor Directives And Macros Exception Handling Programming Paradigms and OOPs Advantages Abstraction and Encapsulation Polymorphism Inheritance Function Overloading Concepts Function Overloading Varieties Function Overloading Special Cases Defining Classes Creating and Using Class Objects Class Members Accessibility Class Function Types Inline Functions Constant Functions Nesting of Functions Class Members Scope Resolution Static Members in a Class Array of Objects Constructor Concepts Default Constructor Parameterized Constructor Copy Constructor Constructor Overloading Destructors Inheritance Fundamentals Public Derivations Private and Protected Derivations Multiple Inheritance Multi-Level Inheritance Class Nesting Data File Concepts Handling Text Files Handling Binary Files Pointer Concepts Pointer and Arrays Pointers and Functions Object Pointers This Pointer Linked Lists Stacks Queues


Back