Unit 2(OOPs C++ ) Sem2

Theory

Quiz 1

When the base class is publicly inherited, public members of the base class become …………. of the derived class.
private members
protected members
Public members
Not inherited

Public members

In ……………….. inheritance, the base classes are constructed in the order in which they appear in the deceleration of the derived class.
multipath
multiple
multilevel
hierarchical

multiple

If 2 classes derive one base class and redefine a function of base class, also overload some operators inside class body. Among these two things of function and operator overloading, where is polymorphism used?
Function overloading only
Operator overloading only
Both of these are using polymorphism
Either function overloading or operator overloading because polymorphism can be applied only once in a program

Either function overloading or operator overloading because polymorphism can be applied only once in a program

In case of using abstract class or function overloading, which function is supposed to be called first?
Local function
Function with highest priority in compiler
Global function
Function with lowest priority because it might have been halted since long time, because of low priority

Function with highest priority in compiler


Quiz 2

The output of following program

#include<iostream>
using namespace std;
class Base
{
public:
    virtual void show() { cout<<" In Base n"; }
};
class Derived: public Base
{
public:
    void show() { cout<<"In Derived n"; }
};
int main(void)
{
    Base *bp, b;
    Derived d;
    bp = &d;
    bp->show();
    bp = &b;
    bp->show();
    return 0;
}


a) In Base
In Base
b) In Base
In Derived
c) In Derived
In Derived
d) In Derived
In Base

d) In Derived
In Base

……………. binding means that an object is bound to its function call at compile time.
late
static
dynamic
fixed

static

A …………………. refers to an object that that currently invokes a member function.
void pointers
null pointers
this pointer
base pointer

this pointer

Which of the following is true about pure virtual functions? 1) Their implementation is not provided in a class where they are declared. 2) If a class has a pure virtual function, then the class becomes abstract class and an instance of this class cannot be created.
Both 1 and 2
Only 1
Only 2
Neither 1 nor 2

*pending


Surprise Test

State whether the following statements about inheritance are True or False.
i) A public member of a class can be accessed by its own objects using the dot operator.
ii) While inheriting, the private members of the base class will never become members of its derived class.
True, False
False, True
True, True
False, False

True, True

A derived class with only one base class is called …………… inheritance.
single
multiple
multilevel
hierarchical

single

A member declared as ………….. is accessible by the member functions within its class and any class immediately derived from it.
protected
private
public
friend

protected

The friend functions and the member functions of a friend class can directly access the ………………. data.
private and protected
private and public
protected and public
private, protected and public

private and protected

False statements about function overloading is
Defining multiple functions with same name in a class is called function overloading
Overloaded function must differ in their order and types of arguments.
Overloaded functions should be preceded with virtual keyword
No statement is false

Overloaded functions should be preceded with virtual keyword

Compile time polymorphism in C++ language are
Operator overloading
Function overloading
Function overriding
A & B

A & B

Which among the following can’t be used for polymorphism?
Static member functions
Member functions overloading
Predefined operator overloading
Constructor overloading

Static member functions

Run time polymorphism is achieved only when a ……………….. Is accessed through a pointer to the base class.
static function
Real function
Member function
Virtual function

Virtual function

The pointer to a function is known as …………………. function.
forward
pointer
callback
backward

callback

When VTABLE (Virtual table) get created for a class?
Every class by default has virtual table
When a Class Overrides the function of Base class
When a class contains at least one virtual function.
When a class is derived from a base class.

When a class contains at least one virtual function.

Which concept is not available in C++?
Virtual constructor
Virtual destructor
Virtual function
Virtual Table

Virtual constructor

The output of following program is

#include<iostream>
using namespace std;
class Base
{
public:
    virtual void show() { cout<<" In Base n"; }
};
class Derived: public Base
{
public:
    void show() { cout<<"In Derived n"; }
};
 int main(void)
{
    Base *bp, b;
    Derived d;
    bp = &d;
    bp->show();
    bp = &b;
    bp->show();
    return 0;
}


a) In Base
In Base
b) In Base
In Derived
c) In Derived
In Derived
d) In Derived
In Base

d) In Derived
In Base


Practical

Pre

When the inheritance is private, the private methods in base class are __ in the derived class (in C++)
Inaccessible
Accessible
Protected
Public

Inaccessible

What is meant by multiple inheritance?
Deriving a base class from derived class
Deriving a derived class from base class
Deriving a derived class from more than one base class
None of the mentioned

Deriving a derived class from more than one base class

Can we pass parameters to base class constructor though derived class or derived class constructor?
Yes
No
May Be
Can’t Say

Yes

Which symbol is used to create multiple inheritance?
Dot
Comma
Dollar
None of the above

Comma

Functions that can be inherited from base class in C++ program
Constructor
Destructor
Static function
None

None

Which of the following shows multiple inheritances?
A->B->C
A->B; A->C
A,B->C
B->A

A,B->C

How access specifiers in Class helps in Abstraction?
They does not helps in any way
They allows us to show only required things to outer world
They help in keeping things together
Abstraction concept is not used in classes

They allows us to show only required things to outer world

Out of the following, which is not a member of the class?
Static function
Friend function
Constant function
Virtual function

Friend function

What is the other name used for functions inside a class?
Member variables
Member functions
Class functions
Class variables

Member functions

Which of the following approach is used by C++?
Top-down
Bottom-up
Left-right
Right-left

Bottom-up

The __, also known as the address operator, returns the memory address of a variable.
asterisk (* )
ampersand ( & )
percent sign ( % )
exclamation point ( ! )

ampersand ( & )

A function may return a pointer but the programmer must ensure that the pointer
still points to a valid object after the function ends
has not been assigned an address
was received as a parameter by the function
has not previously been returned by another function

still points to a valid object after the function ends

What does the following statement do?
double *num2;
Declares a double variable named num2
Declares and initializes a pointer variable named num2
Initializes a pointer variable named num2
Declares a pointer variable named num2

Declares a pointer variable named num2

Use the delete operator only on pointers that were
never used
not correctly initialized
created with the new operator
dereferenced inappropriately

created with the new operator

In C++, the __ keyword was introduced to represent address 0.
nullptr
NULL
weak_ptr
shared_ptr

nullptr


Post

Which among the following is best to define hierarchical inheritance?
More than one classes being derived from one class
More than 2 classes being derived from single base class
At most 2 classes being derived from single base class
At most 1 class derived from another class

More than one classes being derived from one class

Which class uses hierarchical inheritance in following code?

class A
{
int a;
};
class B:class A
{
int b;
};
class C:class A,class B
{
int c;
};
class D:class A
{
int d;
};


Class A, B, C
Class B, C, D
Class A, C, D
Class A, D, B

Class A, D, B

Which among the following is correct for following code?

#include <iostream>
using namespace std;
class A{
      public: int a=10;
      void disp()
      {
        cout<<"in base class";
      }
};
class B:public A
{
      public: void dis()
      {
            cout<<a;
      }
};
int main()
{
      B b;
      b.disp();
      return 0;
}


Compile time error
Runtime error
Program runs and o/p is 10
Program runs and o/p is “in base class”

Program runs and o/p is “in base class”

Hierarchical inheritance can be a subset of _____
Hybrid inheritance
Multiple inheritance
Single level inheritance
Multilevel inheritance

Hybrid inheritance

What does polymorphism in OOPs mean?
Concept of allowing overriding of functions
Concept of hiding data
Concept of keeping things in different modules/files
Concept of wrapping things into a single unit

Concept of allowing overriding of functions

Which of the following explains Polymorphism?
a) int func(int, int);
float func1(float, float);
b) int func(int);
int func(int);
c) int func(float);
int func(int, int, char);
d) int func();
int new_func();

c) int func(float);
int func(int, int, char);

Which of the following feature of OOPs is not used in the following C++ code?

Which of the following feature of OOPs is not used in the following C++ code?
class A
{
int i;
public:
void print(){cout<<"hello"<<i;}
}
class B:public A
{
int j;
public:
void assign(int a)
{
j = a;
}
}


Abstraction
Encapsulation
Inheritance
Polymorphism

Polymorphism

How run-time polymorphisms are implemented in C++?
Using Inheritance
Using Virtual functions
Using Templates
Using Inheritance and Virtual functions

Using Inheritance and Virtual functions

How compile-time polymorphisms are implemented in C++?
Using Inheritance
Using Virtual functions
Using operator overloading
Using Inheritance and Virtual functions

Using operator overloading

Assuming ptr is a pointer variable, what will the following statement output?
cout<< ptr; the value stored in the variable whose address is contained in ptr the string “ptr”
the address of the variable whose address is stored in ptr
the address of the variable stored in ptr

the value stored in the variable whose address is contained in ptr

Which of the following statements displays the address of the variable numb?
cout<< numb; cout<< *numb; cin>>&numb;
cout<<&numb;

cout<<&numb;

Which of the following statements deletes memory that has been dynamically allocated for an array?
int array = delete memory;
int delete[ ];
delete [] array;
new array = delete;

delete [] array;

A pointer variable is designed to store
any legal C++ value
only floating-point values
an integer
a memory address

a memory address

Dynamic memory allocation occurs
when a new variable is created by the compiler
when a new variable is created at runtime
when a pointer fails to dereference the right variable
when a pointer is assigned an incorrect address

when a new variable is created at runtime



Explore Latest Progies

The content uploaded on this website is for reference purposes only. Please do it yourself first.