C++ Programming :: OOPS Concepts

Home > C++ Programming > OOPS Concepts > General Questions

1 / 14

 What is the signature of the assignment operator in C++, if chain of assignments need to be performed for an object of class test?

Answer: Option A

Explanation:

test & operator = (const test&) { ... }

This is the standard way to overload assignment operator in c++ by reference.

Then, t1 = t2 = t3 (t1, t2 and t3 are instances of class test ) calls above assignement operator twice.

in other hand, returning void will prevent users from 'assignment chaining' i.e t1 = t2 = t3.

Workspace


Tags:  Commvault

2 / 14

 What statements in the following C++ program would result in compilation error?

char *buff, *data;
void main ()
{
const char* const cp = buff;
cp = data; // Line 5
*cp='a'; // Line 6
}

Answer: Option D

Explanation:

Both Line 5 and Line 6 throws compilation errors.

cp = data; cp is a const variable which means it is read-only. we can not assign values to read-only variables.

*cp='a'; cp is also a const pointer (read only) and we are trying to assign value at its address which throws error at compile time.

Workspace


Tags:  Commvault

Answer: Option C

Explanation:

This statement is not always true.The inline specifier usually instructs the compiler to substitue the inline function code at the place of a inline function call. Inlining is only a request to the compiler but not a command. Compiler may not perform inlining if the function contains a loop, goto, switch statement etc.

Workspace


Tags:  Commvault

4 / 14

 What is the technique of allocating memory during runtime on demand known as in C++?

Answer: Option B

Explanation:

Answer is Dynamic memory allocation. We use 'new' operator in c++ to dynamically allocate memory in runtime. We can dynamically allocate space in runtime but we can not create new dynamic variables. for this reason usually we create dynamic variable and we store its address in a pointer. Below is one example of dynamic memory allocation.


int * x;  //declare a pointer 

x = new int;    // dynamically allocate memory of type int and assign its address to x

Workspace


Tags:  Commvault

5 / 14

 Which two entities(reading from left to right) are connected by the dot operator(or class member access operator)?

Answer: Option D

Explanation:

class Test

{

    private:

        int data;

    public:  

        void function()

        {   

data = 10; 

        }

   };

int main()

{

    Test t1;

}

Test is a class and t1 is an object of class Test. We can access members of class Test using object t1. So the function 'function()' can be accessed as t1.function().

Workspace


Tags:  Wipro

6 / 14

 In private inheritance derived class members can access base class members that are
1) Public
2) Private
3) Protected

Answer: Option B

Explanation:

Only public and protected members will be accessible by children

Workspace


Tags:  Wipro

Answer: Option C

Explanation:

Object oriented programming is a programming paradigm which is based on the concept of objects/instance of a class. A Class contains data in the form of fields and code in the form of methods/functions. In object oriented programming, the computer programs are designed of objects that can interact each other.

Workspace


Tags:  No Tags on this question yet!

8 / 14

 To be called object-oriented, a programming language must allow

Answer: Option C

Explanation:

Answer is inheritance (C).

Inheritance is one of the most important concept of Object oriented programming language.

Inheritance allows one object of a class to to derive properties and attributed from another class. 

Workspace


Tags:  No Tags on this question yet!

Answer: Option D

Explanation:

Static members can only be declared inside class and need to be defined outside the class using scope resolution operator. If we try to access a static member without defining it explicitly, program throws compilation error.

Static members are shared across all instances of a Class which means a static member will only have one copy of it exists for all instances of a class.

Workspace


Tags:  No Tags on this question yet!

Answer: Option D

Explanation:

There are two types of Polymorphism in C++.

Compile time Polymorphism: Compile time Polymorphism can be achieved using Function overloading and Operator overloading.

    Function overloading: If a class has multiple functions with same name but with different number of argument or different types of arguments, then these functions are overloaded.

    Operator overloading: Operator overloading means to redefine the way how a operator works. For example, we can overload '+' operator to concatenate two strings in addition to integers.

Run time Polymorphism: Run time Polymorphism in C++ can be achieved using Function overriding. when a derived class has a definition for a member function of a base class then the base version of the method is said to be overridden.

Workspace


Tags:  No Tags on this question yet!