C++ Programming :: OOPS Concepts

NA
SHSTTON
13
Solv. Corr.
20
Solv. In. Corr.
33
Attempted
0 M:10 S
Avg. Time

1 / 14

Choose the correct option.

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


Atest & operator = (const test&);

Bvoid & operator =(const test&);

Ctest & operator = ();

Dvoid & operator = (const 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

NA
SHSTTON
17
Solv. Corr.
21
Solv. In. Corr.
38
Attempted
0 M:0 S
Avg. Time

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
}

ANo compilation error

BOnly Line 5

COnly Line 6

DBoth Line 5 and 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

NA
SHSTTON
11
Solv. Corr.
19
Solv. In. Corr.
30
Attempted
0 M:0 S
Avg. Time

3 / 14

Choose the correct option.

Which statement is wrong in C++?


AA pointer to a constant can be used to view but not modify its target

BA canst pointer can't be modified but its target can

CThe inline specifier instructs the compiler to replace function calls with the code of the function body

Dconstant pointers to constants can be used to view but not modify its target

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

NA
SHSTTON
25
Solv. Corr.
6
Solv. In. Corr.
31
Attempted
0 M:50 S
Avg. Time

4 / 14

Choose the correct option.

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


ADynamic binding

BDynamic memory allocation

CLate binding

DRuntime polymorphism

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

NA
SHSTTON
5
Solv. Corr.
10
Solv. In. Corr.
15
Attempted
0 M:0 S
Avg. Time

5 / 14

Choose the correct option.

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


AA class member and a class object

BA class object and a class

CA class and a member of that class

DA class object and a member of that class

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

NA
SHSTTON
7
Solv. Corr.
7
Solv. In. Corr.
14
Attempted
0 M:0 S
Avg. Time

6 / 14

Choose the correct option.

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


A1 & 2

B1 & 3

C2 & 3

D1,2 & 3

Answer: Option B

Explanation:

Only public and protected members will be accessible by children

Workspace

NA
SHSTTON
11
Solv. Corr.
3
Solv. In. Corr.
14
Attempted
0 M:0 S
Avg. Time

7 / 14

Choose the correct option.

Object-oriented programmers primarily focus on


Aprocedures to be performed

Bstep-by-step statements needed to solve a problem

Cobjects and the tasks that must be performed with those objects

Dphysical orientation of objects

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

NA
SHSTTON
3
Solv. Corr.
10
Solv. In. Corr.
13
Attempted
0 M:0 S
Avg. Time

8 / 14

Choose the correct option.

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


Afunctions that return only a single value

B#include files

Cinheritance

Dall of these

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

NA
SHSTTON
6
Solv. Corr.
8
Solv. In. Corr.
14
Attempted
0 M:0 S
Avg. Time

9 / 14

Choose the correct option.

Static data members


Ashould be initialized like global variables.

Bhas only one copy of it exists for all instances of a class.

Cshould be initialized like extern variables.

Dboth (a) and (b)

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

NA
SHSTTON
10
Solv. Corr.
3
Solv. In. Corr.
13
Attempted
0 M:0 S
Avg. Time

10 / 14

Choose the correct option.

Polymorphism is done by


Afunction overloading

BCreating new classes from base class

Coperator overloading

Dboth (a) and (c)

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