Explain how to pass object as function argument.

1 Answer

Answer :

An object may be used as function arguments in two methods:-

i) A copy of the entire object is passed to the function.

ii) Only the address of the object is transferred to the function.

1) Pass-by-value

Since a copy of the object is passed to the function, any changes made to the object inside the function do not affect the object used to call the function.

2) Pass-by-reference

When an address of the object is passed the called function works directly on the actual object used in the call. This means that any changes made to the object inside the function will reflect in the actual object.

Example:

Following program illustrates the use of object as function arguments.

It performs the addition of time in the hour & minute format.

# include<iostream.h>

class time

{

int hours;

int minutes;

public:

void gettime(int h, int m)

{

hours = h;

minutes = m;

}

void puttime(void) 

{

cout<< hours << "hours and: ";

cout<< minutes << " minutes " << "\n";

}

void sum (time, time);

};

void time :: sum (time t1, time t2)

{

minutes =t1.minutes + t2.minutes ;

hours = minutes / 60;

minutes = minutes%60;

hours = hours = t1.hours + t2.hours;

}

main()

{

time T1, T2, T3;

T1.gettime(2, 30);

T2.gettime(3, 45);

T3.sum(T1, T2);

cout<< " T1 = ";

T1.puttime();

cout<< " T2 = ";

T2.puttime();

cout<< " T3= ";

T3.puttime();

}

An object can also be passed as argument to a non-member function but, such functions can have access to the public member function only through the object passed as arguments to it. 

Related questions

Description : Explain object as a function argument using following points with suitable example: (i) Pass by value (ii) Pass by reference

Last Answer : (i) Pass by Value: When an object is passed by value to a function, a copy of that object is created and changes are reflected on the copy object not on original object. Example: #include #include class Example { int x; public: Example(int a)  {  x=a;  }  void print()  { cout

Description : Write a program to show object as function argument. 

Last Answer : #include<iostream.h> #include<conio.h> #include<string.h> class objarg  { char str[10]; public: void get() { cout<<"\n Enter a Message"; cin>>str; } void ... clrscr(); o1.get(); o2.copy(o1); o2.display(); getch();  }

Description : What do you mean by default argument? Give its suitable example.

Last Answer : Default argument  Initializing an argument with a value while defining a constructor is referred as constructor with default value. When a constructor with default value is declared in a class, it does not require object to pass value ... void main() { ABC obj1(5); ABC obj2(20,30); }

Description : Describe the concept of constructor with default argument with suitable example.

Last Answer : Definition: The constructor where we can assign default values for one or more parameters at the time of function declaration is called as constructor with default argument Example: class complex ... and 3.0 to img., because the actual parameters, when specified overrides the default value.

Description : Explain the concept of memory allocation for object.

Last Answer : The memory space for object is allocated when it is declared & not when the class is specified. The member functions are created & placed in memory space only once when they are defined as a ... (object 1, object 2, object 3) has its own separate memory space for its member variables.

Description : Write down characteristics of object oriented programming.

Last Answer : Characteristics of object oriented programming are: Emphasis is on data rather than procedure. Programs are divided into objects. Data structures are designed such that they characterize the ... can be easily added whenever necessary. Follows bottom-up approach in program designing. 

Description : Give four differences between object oriented programming and procedure oriented programming.

Last Answer : Give four differences between object oriented programming and procedure oriented programming.

Description : Write a program to declare class student having data members name and percentage. Write constructor to initialize these data members. Accept and display this data for one object.

Last Answer : #include<iostream.h> #include<conio.h> #include<string.h> class student { char name[20]; float per; public: student(char n[],float p) { strcpy(name,n); per=p; } ... { student S("Sachin",78.00); clrscr(); S.putdata(); getch(); }

Description : Write a program to declare class having data member as hrs, mins, secs. Write constructor to assign values and destructor to destroy values. Accept & display data for one object.

Last Answer : #include<iostream.h> #include<conio.h> class time { private: int hrs, mins,sec; public: time(int h,int m,int s) { hrs=h; mins=m; sec=s; } ~time() { cout<< hours ... } }; void main() { time t(2,43,56); t.display(); getch(); }

Description : State any four object oriented programming language.

Last Answer : Object oriented programming language: C++ Smalltalk Object pascal java Simula Ada Turbo pascal Eiffel C# Python

Description : Write a program to implement the concept of virtual base class for following figure. Accept and display information of one employee with his name, code, basic pay, experience and gross salary with the object of employee class.

Last Answer : #include<iostream.h> #include<conio.h> class Master  {  char name[10],code[3];  public:  void acceptM() { cout<<"\nEnter name and code "; cin>>name>>code; ... .displayM(); e.displayA(); e.displayD(); e.displayE(); getch();  }

Description : Implement a program to declare a class city with data members city name and state. Accept and display data for 1 object using pointer to object.

Last Answer : #include<iostream.h> #include<conio.h> class city { char city_name[20],state[20]; public: void accept() { cout<<"\nEnter city data:"; cout<<"\nName:"; ... ); ptr=&c; ptr->accept(); ptr->display(); getch(); }

Description : State the concepts of object oriented programming.

Last Answer : Basic Concepts of Object Oriented Programming:  1. Objects  Objects are the basic run time entities in an object-oriented system. They may represent a person, a place, a ... objects that communicate with each other. Objects communicate with one another by sending and receiving information.

Description : Give advantages of object oriented approach over procedure oriented approach.

Last Answer : Advantages of object oriented approach over procedure oriented approach: 1. In object oriented approach, through inheritance we can eliminate redundant code and extend the use of existing classes. 2. ... with external systems much simpler. 10. In OOP software complexity can be easily managed.

Description : Describe pointer to object with an example. 

Last Answer : When address of an object of a class is stored into the pointer variable of the same class type then it is pointer to object. This pointer can be used to access the data member and member functions of same class. ... (); // Invoking getdata()using pointer to object p1. ptr->display(); }

Description : Explain the need of static member function with example.

Last Answer : A static member function can have access to only other static members (functions or variables) declared in the same class. A static member function can be called using the class name as follows: class_name:: ... test::showcount(); -------------Call to static member function. }

Description : What is the need of virtual function? Explain with example.

Last Answer : When base class and its derived class both contain same name and prototype member function then derived class function overrides base class function. Base class pointer is used to refer member functions of its ... Program/Example: #include class Base { public: virtual void show( ) { cout

Description : Explain concept of function overriding with example.

Last Answer : Function Overriding:- When derived class defines same name function, as defined in its base class then it is called as function overriding. In this a function in the derived class overrides the inherited function. Example : #include #include class Base { public: void Display() { cout

Description : Explain static member function.

Last Answer : Static member function: - a static member function can have access to only other static variables or functions declared in the same class. It can be called using the class name instead of its object. It can be declared ... ; } static void showcount()----------------static member function { cout

Description : Explain friend function. Give example.

Last Answer : Friend function: The private members of a class cannot be accessed from outside the class but in some situations two classes may need access of each other s private data. So a common function can be declared which can be made friend of ... xyz x1; a1.get1(); x1.get1(); add(a1,x1); }

Description : Explain the concept of virtual function with example.

Last Answer : Virtual Function: A virtual function is a member function that is declared within a base class and redefined by its derived class. When base class and its derived class both contain same name member function then ... pointer. Example: #include class Base { public: virtual void show( ) { cout

Description : What is function? What is call by value? What is call by reference? What is the difference between them?

Last Answer : Function: A function is a group/set of statements/instruction that performs a specific task. It can be system defined i.e. clrscr(), getch(), or user defined i.e. add(), sub(). ... reflected inside as well as outside the function. Difference between Call by Value and Call by Reference:

Description : How to define virtual function? Give example.

Last Answer : A virtual function is a member function that is declared within a base class and redefined by a derived class. To define virtual function following syntax is used: Class baseclass { virtual function_name() { } ... } }; Example: #include class Base { public: virtual void show( ) { cout

Description : What is pure virtual functions? Write down the rules used for pure virtual function.

Last Answer : A pure virtual function is a function which is declared in a base class and which does not have definition relative to the base class. In such cases, the compiler requires each derived class to either ... A class containing pure virtual functions cannot be used to declare any objects of its own.  

Description : Polymorphism is implemented using function overloading. Justify the statement.

Last Answer : Polymorphism is a mechanism that allows a developer to have more than one function with same name but different signature. In function overloading, one can make use of more than one function with different signature as well. Hence ... main()  { int a[10],i,isum; float b[5],fsum; clrscr(); cout

Description : Why friend function is required? Give four characteristics of friend function.

Last Answer : Friend function: Private members of a class cannot be accessed from outside the class. A non-member function cannot have an access to the private data of a class. Sometimes, two classes may need to ... part of a class without affecting its meaning. 6. Usually it has the objects as the arguments.

Description : How do we invoke a constructor function?

Last Answer : A constructor is invoked automatically when an object of its class is created. Example: class ABC { public: ABC( ) { } }; void main( ) { ABC obj; } In the above example, creating „obj‟ object automatically invokes constructor ‟ABC ( )‟.

Description : Write a program to calculate area of circle and area of rectangle using function overloading. 

Last Answer : #include<iostream.h> #include<conio.h> float area(float a) { return (3.14*a*a); } int area(int p,int q) { return(p*q); } void main() { clrscr(); cout< ... ;<<area(6); cout<<"Area of Rectangle:"<<area(5,6); getch(); }

Description : List characteristics of static data member and static member function.

Last Answer : Characteristics of static member variable are: i) It is initialized to zero when the first object of its class is created. No other initialization is permitted. ii) Only one copy of that ... the class name with a scope resolution operator instead of object name as follows: class_name::function_name;

Description : Differentiate between function definition inside and outside the class

Last Answer : Sr. No Inside function definition Outside function definition  1 A member function of a class is defined inside the class. A member function of a class is declared inside class and as defined outside the ... }; void item :: getdata(int a, float b) { number = a; cost = b; }

Description : Write a program to demonstrate the use of pure virtual function.

Last Answer : Consider the following example where parent class provides an interface to the base class to implement a function called getArea() as pure virtual function: #include // Base class class Shape { protected: int ... ; Rect.setWidth(5); Rect.setHeight(7); // Print the area of the object. cout

Description : How to define a member function outside the body of class? 

Last Answer : The user can declare member function outside the class with the help of scope resolution operator (::). The label class_name:: tells the compiler that the function_name belongs to the class class_name. ... In above example accept() member function of class student is defined outside of the class. 

Description : Write a program in C++ to overload a „volume‟ function to calculate volume of cube and rectangular box. 

Last Answer : #include<iostream.h> #include<conio.h> void volume(float); void volume(float, float, float); void main() { float a, length, width, height; clrscr(); cout<<"\n ... width*height; cout<<"\n Volume of a rectangular box is:"<<v; }

Description : State any four characteristics of friend function.

Last Answer : Characteristics of friend function: 1. It is not in the scope of the class to which it has been declared as friend. 2. As it is not in the scope of the class, it cannot be called using the ... public or the private part of a class without affecting its meaning. 6. It has the objects as arguments.

Description : Describe syntax and use of defining member function outside class. Give one example.

Last Answer : Member function that is declared inside a class has to be defined separately outside the class. These member functions associate a membership identify label in the header. This label tells the ... ) A member function can call another member function directly, without using the dot operator. 

Description : Write a program in C++ to declare a class measure having data members as add 1, add 2, add 3. Initialize the values of two data members using constructor and display their addition using function.

Last Answer : #include<iostream.h> #include<conio.h> class measure { public: int add1,add2,add3; measure(int a,int b) { add1=a; add2=b; } void cal() { add3=add1+add2; } void display() ... ;>a>>b; measure m1(a, b); m1.cal(); m1.display(); getch(); }

Description : With example, describe use of static member function.

Last Answer : A static member function can have access to only other static members (functions or variables) declared in the same class. A static member function can be called using the class name as follows: class_name:: ... static void showcount()----------------//static member function { cout

Description : With suitable example, describe use of virtual function in polymorphism.

Last Answer : In order to achieve polymorphism, objects belonging to different classes should be able to respond to the same message at different instances which initiates the use of single pointer variable to refer to objects of ... void accept() { coutroll; coutname; } virtual void display() { cout

Description : What is constructor? How user can declared constructor in derived class? Explain with example.

Last Answer : Constructor:- Constructor is a special member function which has same name as a class name and is used to initialize object during compile time of program. Declaring constructor in derived class If a base class contains a ... derived d(2,5); d.displaybase(); d.display(); getch(); }

Description : What is copy constructor? Explain with example.

Last Answer : Copy constructor: The copy constructor is a constructor which creates an object by initializing it with an object of the same class, which has been created previously. The copy constructor is used to: ... ; // Copy constructor is called here // Let us access values assigned by constructors cout

Description : Explain the derived class access by pointer.

Last Answer : When base class and its derived class both contains same function name then the function in base class is declared as virtual using keyword virtual preceding its normal declaration. When a function is made virtual, C ... . Example: #include class Base { public: virtual void show( ) { cout

Description : Explain different operator used in C++.

Last Answer : :: Scope resolution operator: This operator allows access to the global version of a variable. Scope resolution operator is also used in classes to identify the class to which a member function belongs. :: ... and assigns it to the variable on its right. It is used with cin statement to input data.

Description : What is parametrized constructor? Explain with example.

Last Answer : A constructor that can take arguments is known as parameterized constructor. In some applications, it may be necessary to initialize the various data members of different objects with different values when they ... object is created. Member function put displays the value of data member m . 

Description : State characteristic of static data member. Explain why static data member must be defined outside the class. 

Last Answer : Characteristics of static data members: 1. It is initialized to zero when the first object of its class is created. No other initialization is permitted. 2. Only one copy of that member is created ... member(s) it is necessary to make static members global and re-declared outside of the class.

Description : Explain the following with syntactic rules: (i) public inheritance (ii) protected inheritance.

Last Answer : (i) public inheritance: i) When the visibility-mode is public the base class is publicly inherited. ii) In public inheritance, the public members of the base class become public members of the derived class and ... variables; Member function; }; class B : protected A { Members of class B };

Description : What is inheritance and explain visibility modes in detail.

Last Answer : Inheritance: The mechanism of deriving new class from an old (existing) class is called as inheritance. With inheritance, one class acquires the properties of objects of other classes. ... members of derived class and public members of base class becomes public members of derived class.

Description : Explain data encapsulation and data abstraction.

Last Answer : Data encapsulation: The wrapping up of data and function into a single unit (called class) is known as encapsulation. The data is not accessible to the outside world, and only those functions ... as they hold information. The functions that operate on these data are called as member functions.

Description : Explain any four concept of OOP.

Last Answer : Basic Concepts of Object Oriented Programming:  1. Objects Objects are the basic run time entities in an object-oriented system. They may represent a person, a place, a bank ... objects that communicate with each other. Objects communicate with one another by sending and receiving information.

Description : Explain structure with syntax and example.

Last Answer : Structure: The Structure is a user defined data supported by object oriented programming. It has almost similar properties that any other user defined data type possess except all members are public by default.  One can ... cout<<"\nThe Value is "<<d.a; getch();  }

Description : Explain hybrid inheritance with example.

Last Answer : Hybrid inheritance is also referred as mixed inheritances. As the name suggests it is a combination of all the kinds of inheritance mechanisms, namely single inheritance, multiple inheritance, multilevel inheritance and hierarchical inheritance. ... { D d; d.getdata(); d.putdata(); }