Академический Документы
Профессиональный Документы
Культура Документы
1. Which was the first purely object oriented programming language developed?
a) Java
b) C++
c) SmallTalk
d) Kotlin
View Answer
Answer: c
Explanation: SmallTalk was the first programming language developed which was purely object
oriented. It was developed by Alan Kay. OOP concept came into picture in 1970’s.
2. Which of the following best defines a class?
a) Parent of an object
b) Instance of an object
c) Blueprint of an object
d) Scope of an object
View Answer
Answer: b
Explanation: A class is Blueprint of an object which describes/ shows all the functions and data that
are provided by an object of a specific class. It can’t be called as parent or instance of an object.
Class in general describes all the properties of an object.
3. Who invented OOP?
a) Alan Kay
b) Andrea Ferro
c) Dennis Ritchie
d) Adele Goldberg
View Answer
Answer: a
Explanation: Alan Kay invented OOP, Andrea Ferro was a part of SmallTalk Development. Dennis
invented C++ and Adele Goldberg was in team to develop SmallTalk but Alan actually had got
rewarded for OOP.
4. What is the additional feature in classes that was not in structures?
a) Data members
b) Member functions
c) Static data allowed
d) Public access specifier
View Answer
Answer: b
Explanation: Member functions are allowed inside a class but were not present in structure concept.
Data members, static data and public access specifiers were present in structures too.
5. Which is not feature of OOP in general definitions?
a) Code reusability
b) Modularity
c) Duplicate/Redundant data
d) Efficient Code
View Answer
Answer: c
Explanation: Duplicate/Redundant data is dependent on programmer and hence can’t be guaranteed
by OOP. Code reusability is done using inheritance. Modularity is supported by using different code
files and classes. Codes are more efficient because of features of OOP.
6. Pure OOP can be implemented without using class in a program. (True or False)
a) True
b) False
View Answer
Answer: b
Explanation: It’s false because for a program to be pure OO, everything must be written inside
classes. If this rule is violated, the program can’t be labelled as purely OO.
7. Which Feature of OOP illustrated the code reusability?
a) Polymorphism
b) Abstraction
c) Encapsulation
d) Inheritance
View Answer
Answer: d
Explanation: Using inheritance we can reuse the code already written and also can avoid creation of
many new functions or variables, as that can be done one time and be reused, using classes.
8. Which language does not support all 4 types of inheritance?
a) C++
b) Java
c) Kotlin
d) Small Talk
View Answer
6. Size of a class is :
a) Sum of size of all the variables declared inside the class
b) Sum of size of all the variables along with inherited variables in the class
c) Size of largest size of variable
d) Classes doesn’t have any size
View Answer
Answer: d
Explanation: Classes doesn’t have any size, actually the size of object of the class can be defined.
That is done only when an object is created and its constructor is called.
7. Which class can have member functions without their implementation?
a) Default class
b) String class
c) Template class
d) Abstract class
View Answer
Answer: d
Explanation: Abstract classes can have member functions with no implementation, where the
inheriting subclasses must implement those functions.
8. Which of the following describes a friend class?
a) Friend class can access all the private members of the class, of which it is a friend
b) Friend class can only access protected members of the class, of which it is a friend
c) Friend class don’t have any implementation
d) Friend class can’t access any data member of another class but can use it’s methods
View Answer
Answer: a
Explanation: A friend class can access all the private members of another class, of which it is friend.
It is a special class provided to use when you need to reuse the data of a class but don’t want that
class to have those special functions.
9. What is scope of a class nested inside another class?
a) Protected scope
b) Private scope
c) Global scope
d) Depends on access specifier and inheritance used
View Answer
Answer: d
Explanation: It depends on the access specifier and the type of inheritance used with the class,
because if the class is inherited then the nested class can be used by subclass too, provided it’s not
of private type.
10. Class with main() function can be inherited (True/False)
a) True
b) False
View Answer
Answer: a
Explanation: The class containing main function can be inherited and hence the program can be
executed using the derived class names also in java.
advertisement
11. Which among the following is false, for member function of a class?
a) All member functions must be defined
b) Member functions can be defined inside or outside the class body
c) Member functions need not be declared inside the class definition
d) Member functions can be made friend to another class using friend keyword
View Answer
Answer: c
Explanation: Member functions must be declared inside class body, thought the definition can be
given outside the class body. There is no way to declare the member functions inside the class.
12. Which syntax for class definition is wrong?
a) class student{ };
b) student class{ };
c) class student{ public: student(int a){ } };
d) class student{ student(int a){} };
View Answer
Answer: b
Explanation: Keyword class should come first. Class name should come after keyword class.
Parameterized constructor definition depends on programmer so it can be left empty also.
13. Which of the following pairs are similar?
a) Class and object
b) Class and structure
c) Structure and object
d) Structure and functions
View Answer
Answer: b
Explanation: Class and structure are similar to each other. Only major difference is that a structure
doesn’t have member functions whereas the class can have both data members and member
functions.
14. Which among the following is false for class features?
a) Classes may/may not have both data members and member functions
b) Class definition must be ended with a colon
c) Class can have only member functions with no data members
d) Class is similar to union and structures
View Answer
Answer: b
Explanation: Class definition must end with a semicolon, not colon. Class can have only member
functions in its body with no data members.
15. Instance of which type of class can’t be created?
a) Anonymous class
b) Nested class
c) Parent class
d) Abstract class
View Answer
Answer: d
Explanation: Instance of abstract class can’t be created as it will not have any constructor of its own,
hence while creating an instance of class, it can’t initialize the object members. Actually the class
inheriting the abstract class can have its instance, because it will have implementation of all
members.
1. Which definition best describes an object?
a) Instance of a class
b) Instance of itself
c) Child of a class
d) Overview of a class
View Answer
Answer: a
Explanation: An object is instance of its class. It can be declared in the same way that a variable is
declared, only thing is you have to use class name as the data type.
2. How many objects can be declared of a specific class in a single program?
a) 32768
b) 127
c) 1
d) As many as you want
View Answer
Answer: d
Explanation: You can create as many objects of a specific class as you want, provided enough
memory is available.
3. Which among the following is false?
a) Object must be created before using members of a class
b) Memory for an object is allocated only after its constructor is called
c) Objects can’t be passed by reference
d) Objects size depends on its class data members
View Answer
Answer: c
Explanation: Objects can be passed by reference. Objects can be passed by value also. If object of
a class is not created, we can’t use members of that class.
4. Which of the following is incorrect?
a) class student{ }s;
b) class student{ }; student s;
c) class student{ }s[];
d) class student{ }; student s[5];
View Answer
Answer: c
Explanation: The array must be specified with a size. You can’t declare object array, or any other
linear array without specifying its size. It’s a mandatory field.
5. The object can’t be:
a) Passed by reference
b) Passed by value
c) Passed by copy
d) Passed as function
View Answer
Answer: d
Explanation: Object can’t be passed as function as it is an instance of some class, it’s not a function.
Object can be passed by reference, value or copy. There is no term defined as pass as function for
objects.
6. What is size of the object of following class (64 bit system)?
class student { int rollno; char name[20]; static int studentno; };
a) 20
b) 22
c) 24
d) 28
View Answer
Answer: c
Explanation: The size of any object of student class will be of size 4+20=24, because static
members are not really considered as property of a single object. So static variables size will not be
added.
7. Functions can’t return objects. (True/False)
a) True
b) False
View Answer
Answer: b
Explanation: Functions can always return an object if the return type is same as that of object being
returned. Care has to be taken while writing the prototype of function.
8. How members of an object are accessed?
a) Using dot operator/period symbol
b) Using scope resolution operator
c) Using member names directly
d) Using pointer only
View Answer
Answer: a
Explanation: Using dot operator after the name of object we can access its members. It is not
necessary to use the pointers. We can’t use the names directly because it may be used outside the
class.
9. If a local class is defined in a function, which of the following is true for an object of that class?
a) Object is accessible outside the function
b) Object can be declared inside any other function
c) Object can be used to call other class members
d) Object can be used/accessed/declared locally in that function.
View Answer
Answer: d
Explanation: For an object which belongs to a local class, it is mandatory to declare and use the
object within the function because the class is accessible locally within the class only.
10. Which among the following is wrong?
a) class student{ }; student s;
b) abstract class student{ }; student s;
c) abstract class student{ }s[50000000];
d) abstract class student{ }; class toppers: public student{ }; topper t;
View Answer
Answer: b
Explanation: We can never create instance of an abstract class. Abstract classes doesn’t have
constructors and hence when an instance is created there is no facility to initialize its members.
Option d is correct because topper class is inheriting the base abstract class student, and hence
topper class object can be created easily.
11. Object declared in main() function:
a) Can be used by any other function
b) Can be used by main() function of any other program
c) Can’t be used by any other function
d) Can be accessed using scope resolution operator
View Answer
Answer: c
Explanation: The object declared in main() have local scope inside main() function only. It can’t be
used outside main() function. Scope resolution operator is used to access globally declared
variables/objects.
12. When an object is returned___________
a) A temporary object is created to return the value
b) The same object used in function is used to return the value
c) The Object can be returned without creation of temporary object
d) Object are returned implicitly, we can’t say how it happens inside program
View Answer
Answer: a
Explanation: A temporary object is created to return the value. It is created because object used in
function is destroyed as soon as the function is returned. The temporary variable returns the value
and then gets destroyed.
advertisement
a) Inheritance
b) Polymorphism
c) Inheritance and polymorphism
d) Encapsulation and Inheritance
View Answer
Answer: d
Explanation: Encapsulation is indicated by use of classes. Inheritance is shown by inheriting the
student class into topper class. Polymorphism is not shown here because we have defined the
constructor in topper class but that doesn’t mean that default constructor is overloaded.
7. Which feature may be violated if we don’t use classes in a program?
a) Inheritance can’t be implemented
b) Object must be used is violated
c) Encapsulation only is violated
d) Basically all the features of OOP gets violated
View Answer
Answer: d
Explanation: All the features are violated because Inheritance and Encapsulation won’t be
implemented. Polymorphism and Abstraction is still possible in some cases, but the main features
like data binding, object use and etc won’t be used hence use of class is must for OOP concept.
8. How many basic features of OOP are required for a programming language to be purely OOP?
a) 7
b) 6
c) 5
d) 4
View Answer
Answer: a
Explanation: There are 7 basic features that define whether a programing language is pure OOP or
not. The 4 basic features are inheritance, polymorphism, encapsulation and abstraction. Further, one
is, object use is must, secondly, message passing and lastly, Dynamic binding.
9. The feature by which one object can interact with another object is:
a) Data transfer
b) Data Binding
c) Message Passing
d) Message reading
View Answer
Answer: c
Explanation: The interaction between two object is called message passing feature. Data transfer is
not feature of OOP. Also, message reading is not feature of OOP.
10. ___________ underlines the feature of Polymorphism in a class.
a) Nested class
b) Enclosing class
c) Inline function
d) Virtual Function
View Answer
Answer: d
Explanation: Virtual Functions can be defined in any class using the keyword virtual. All the classes
which inherit the class containing the virtual function, define the virtual function as required.
Redefining the function on all the derived classes according to class and use represents
polymorphism.
advertisement
11. Which feature in OOP is used to allocate additional function to a predefined operator in any
language?
a) Operator Overloading
b) Function Overloading
c) Operator Overriding
d) Function Overriding
View Answer
Answer: a
Explanation: The feature is operator overloading. There is not feature named operator overriding
specifically. Function overloading and overriding doesn’t give addition function to any operator.
12. Which among doesn’t illustrates polymorphism?
a) Function overloading
b) Function overriding
c) Operator overloading
d) Virtual function
View Answer
Answer: b
Explanation: Function overriding doesn’t illustrate polymorphism because the functions are actually
different and theirs scopes are different. Function and operator overloading illustrate proper
polymorphism. Virtual functions show polymorphism because all the classes which inherit virtual
function, define the same function in different ways.
13. Exception handling is feature of OOP. (True/False)
a) True
b) False
View Answer
Answer: a
Explanation: Exception handling is feature of OOP as it includes classes concept in most of the
cases. Also it may come handy while using inheritance.
14. Which among the following, for a pure OOP language, is true?
a) The language should follow 3 or more features of OOP
b) The language should follow at least 1 feature of OOP
c) The language must follow only 3 features of OOP
d) The language must follow all the rules of OOP
View Answer
Answer: d
Explanation: The language must follow all the rules of OOP to be called a purely OOP language.
Even if a single OOP feature is not followed, then it’s known to be a partially OOP language.
15. OOP provides better security than POP:
a) Always true for any programming language
b) May not be true with respect to all programming languages
c) It depends on type of program
d) It’s vice-versa is true
View Answer
Answer: a
Explanation: It is always true as we have the facility of private and protected access specifiers. Also,
only the public and global data is available globally or else program should have proper permission
to access the private data.
1. Which among the following best describes encapsulation?
a) It is a way of combining various data members into a single unit
b) It is a way of combining various member functions into a single unit
c) It is a way of combining various data members and member functions into a single unit which can
operate on any data
d) It is a way of combining various data members and member functions that operate on those data
members into a single unit
View Answer
Answer: d
Explanation: It is a way of combining both data members and member functions, which operate on
those data members, into a single unit. We call it a class in OOP generally. This feature have helped
us modify the structures used in C language to be upgraded into class in C++ and other languages.
2. If data members are private, what can we do to access them from the class object?
a) Create public member functions to access those data members
b) Create private member functions to access those data members
c) Create protected member functions to access those data members
d) Private data members can never be accessed from outside the class
View Answer
Answer: a
Explanation: We can define public member functions to access those private data members and get
their value for use or alteration. They can’t be accessed directly but is possible to be access using
member functions. This is done to ensure that the private data doesn’t get modified accidentally.
3. While using encapsulation, which among the following is possible?
a) Code modification can be additional overhead
b) Data member’s data type can be changed without changing any other code
c) Data member’s type can’t be changed, or whole code have to be changed
d) Member functions can be used to change the data type of data members
View Answer
Answer: b
Explanation: Data member’s data type can be changed without changing any further code. All the
members using that data can continue in the same way without any modification. Member functions
can never change the data type of same class data members.
4. Which feature can be implemented using encapsulation?
a) Inheritance
b) Abstraction
c) Polymorphism
d) Overloading
View Answer
Answer: b
Explanation: Data abstraction can be achieved by using encapsulation. We can hide the operation
and structure of actual program from the user and can show only required information by the user.
5. Find which of the following uses encapsulation?
a) void main(){ int a; void fun( int a=10; cout<<a); fun(); }
b) class student{ int a; public: int b;};
c) class student{int a; public: void disp(){ cout<<a;} };
d) struct topper{ char name[10]; public : int marks; }
View Answer
Answer: c
Explanation: It is the class which uses both the data members and member functions being declared
inside a single unit. Only data members can be there in structures also. And the encapsulation can
only be illustrated if some data/operations are associated within class.
6. Encapsulation helps in writing ___________ classes in java
a) Mutable
b) Abstract
c) Wrapper
d) Immutable
View Answer
Answer: d
Explanation: Immutable classes are used for caching purpose generally. And it can be created by
making the class as final and making all its members private.
7. Which among the following should be encapsulated?
a) The data which is prone to change is near future
b) The data prone to change in long terms
c) The data which is intended to be changed
d) The data which belongs to some other class
View Answer
Answer: a
Explanation: The data prone to change in near future is usually encapsulated so that it doesn’t get
changed accidentally. We encapsulate the data to hide the critical working of program from outside
world.
8. How can Encapsulation be achieved?
a) Using Access Specifiers
b) Using only private members
c) Using inheritance
d) Using Abstraction
View Answer
Answer: a
Explanation: Using access specifiers we can achieve encapsulation. Using this we can in turn
implement data abstraction. It’s not necessary that we only use private access.
9. Which among the following violates the principle of encapsulation almost always?
a) Local variables
b) Global variables
c) Public variables
d) Array variables
View Answer
Answer: b
Explanation: Global variables almost always violates the principles of encapsulation. Encapsulation
says the data should be accessed only by required set of elements. But global variable is accessible
everywhere, also it is most prone to changes. It doesn’t hide the internal working of program.
10. Which among the following would destroy the encapsulation mechanism if it was allowed in
programming?
a) Using access declaration for private members of base class
b) Using access declaration for public members of base class
c) Using access declaration for local variable of main() function
d) Using access declaration for global variables
View Answer
Answer: a
Explanation: If using access declaration for private members of base class was allowed in
programming, it would have destroyed whole concept of encapsulation. As if it was possible, any
class which gets inherited privately, would have been able to inherit the private members of base
class, and hence could access each and every member of base class.
11. Which among the following can be a concept against encapsulation rules?
a) Using function pointers
b) Using char* string pointer to be passed to non-member function
c) Using object array
d) Using any kind of pointer/array address in passing to another function
View Answer
Answer: d
Explanation: If we use any kind of array or pointer as data member which should not be changed,
but in some case its address is passed to some other function or similar variable. There are chances
to modify its whole data easily. Hence Against encapsulation.
12. Consider the following code and select the correct option:
advertisement
class student
{
int marks;
public : int* fun()
{
return &marks;
}
};
main()
{
student s;
int *ptr=c.fun();
return 0;
}
13. A phone is made up of many components like motherboard, camera, sensors and etc. If the
processor represents all the functioning of phone, display shows the display only, and the phone is
represented as a whole. Which among the following have highest level of abstraction?
a) Motherboard
b) Display
c) Camera
d) Phone
View Answer
Answer: d
Explanation: Phone as a whole have the highest level of abstraction. This is because the phone
being a single unit represents the whole system. Whereas motherboard, display and camera are its
components.
14. Which among the following is not a level of abstraction:
a) Logical level
b) Physical level
c) View level
d) External level
View Answer
Answer: d
Explanation: Abstraction is generally divided into 3 different levels, namely, logical, physical and
view level. External level is not defined in terms of abstraction.
15. Using higher degree of abstraction __________
a) May get unsafe
b) May reduce readability
c) Can be safer
d) Can increase vulnerability
View Answer
Answer: c
Explanation: It will make the code safer. One may think it reduces the readability, but the fact is, it
actually helps us understand the code better. We don’t have to read the complex code which is of no
use in understanding the program.
1. Which among the following best defines abstraction?
a) Hiding the implementation
b) Showing the important data
c) Hiding the important data
d) Hiding the implementation and showing only the features
View Answer
Answer: d
Explanation: It includes hiding the implementation part and showing only the required data and
features to the user. It is done to hide the implementation complexity and details from the user. And
to provide a good interface in programming.
2. Hiding the implementation complexity can:
a) Make the programming easy
b) Make the programming complex
c) Provide more number of features
d) Provide better features
View Answer
Answer: a
Explanation: It can make the programming easy. The programming need not know how the inbuilt
functions are working but can use those complex functions directly in the program. It doesn’t provide
more number of features or better features.
3. Class is _________ abstraction
a) Object
b) Logical
c) Real
d) Hypothetical
View Answer
Answer: b
Explanation: Class is logical abstraction because it provides a logical structure for all of its objects. It
gives an overview of the features of an object.
4. Object is ________ abstraction
a) Object
b) Logical
c) Real
d) Hypothetical
View Answer
Answer: c
Explanation: Object is real abstraction because it actually contains those features of class. It is the
implementation of overview given by class. Hence the class is logical abstraction and its object is
real.
5. Abstraction gives higher degree of ________
a) Class usage
b) Program complexity
c) Idealized interface
d) Unstable interface
View Answer
Answer: c
Explanation: It is to idealize the interface. In this way the programmer can use the programming
features more efficiently and can code better. It can’t increase the program complexity, as the
feature itself is made to hide it.
6. Abstraction can apply to:
a) Control and data
b) Only data
c) Only control
d) Classes
View Answer
Answer: a
Explanation: Abstraction applies to both. Control abstraction involves use of subroutines and control
flow abstraction. Data abstraction involves handling pieces of data in meaningful ways.
7. Which among the following can be viewed as combination of abstraction of data and code.
a) Class
b) Object
c) Inheritance
d) Interfaces
View Answer
Answer: b
Explanation: Object can be viewed as abstraction of data and code. It uses data members and their
functioning as data abstraction. Code abstraction as use of object of inbuilt class.
8. Abstraction principle includes___________
a) Use abstraction at its minimum
b) Use abstraction to avoid longer codes
c) Use abstraction whenever possible to avoid duplication
d) Use abstraction whenever possible to achieve OOP
View Answer
13. A phone is made up of many components like motherboard, camera, sensors and etc. If the
processor represents all the functioning of phone, display shows the display only, and the phone is
represented as a whole. Which among the following have highest level of abstraction?
a) Motherboard
b) Display
c) Camera
d) Phone
View Answer
Answer: d
Explanation: Phone as a whole have the highest level of abstraction. This is because the phone
being a single unit represents the whole system. Whereas motherboard, display and camera are its
components.
14. Which among the following is not a level of abstraction:
a) Logical level
b) Physical level
c) View level
d) External level
View Answer
Answer: d
Explanation: Abstraction is generally divided into 3 different levels, namely, logical, physical and
view level. External level is not defined in terms of abstraction.
15. Using higher degree of abstraction __________
a) May get unsafe
b) May reduce readability
c) Can be safer
d) Can increase vulnerability
View Answer
Answer: c
Explanation: It will make the code safer. One may think it reduces the readability, but the fact is, it
actually helps us understand the code better. We don’t have to read the complex code which is of no
use in understanding the program.
1. Which among the following is called first, automatically, whenever an object is created?
a) Class
b) Constructor
c) New
d) Trigger
View Answer
Answer: b
Explanation: Constructors are the member functions which are called automatically whenever an
object is created. It is a mandatory functions to be called for an object to be created as this helps in
initializing the object to a legal initial value for the class.
2. Which among the following is not a necessary condition for constructors?
a) Its name must be same as that of class
b) It must not have any return type
c) It must contain a definition body
d) It can contains arguments
View Answer
Answer: c
Explanation: Constructors are predefined implicitly, even if the programmer doesn’t define any of
them. Even if the programmer declares a constructor, it’s not necessary that it must contain some
definition.
3. Which among the following is correct?
a) class student{ public: int student(){} };
b) class student{ public: void student (){} };
c) class student{ public: student{}{} };
d) class student{ public: student(){} };
View Answer
Answer: d
Explanation: The constructors must not have any return type. Also, the body may or may not contain
any body. Defining default constructor is optional, if you are not using any other constructor.
4. In which access should a constructor be defined, so that object of the class can be created in any
function?
a) Public
b) Protected
c) Private
d) Any access specifier will work
View Answer
Answer: a
Explanation: Constructor function should be available to all the parts of program where the object is
to be created. Hence it is advised to define it in public access, so that any other function is able to
create objects.
5. How many types of constructors are available for use in general (with respect to parameters)?
a) 2
b) 3
c) 4
d) 5
View Answer
Answer: a
Explanation: Two types of constructors are defined generally, namely, default constructor and
parameterized constructor. Default constructor is not necessary to be defined always.
6. If a programmer defines a class and defines a default value parameterized constructor inside it.
He has not defined any default constructor. And then he try to create the object without passing
arguments, which among the following will be correct?
a) It will not create the object (as parameterized constructor is used)
b) It will create the object (as the default arguments are passed )
c) It will not create the object ( as the default constructor is not defined )
d) It will create the object ( as at least some constructor is defined )
View Answer
Answer: b
Explanation: It will create the object without any problem, because the default arguments use the
default value if no value is passed. Hence it is equal to default constructor with zero parameters. But
it will not create the object if signature doesn’t match.
7. Default constructor must be defined, if parameterized constructor is defined and the object is to be
created without arguments.
a) True
b) False
View Answer
Answer: a
Explanation: If the object is create without arguments and only parameterized constructors are used,
compiler will give an error as there is no default constructor defined. And some constructor must be
called so as to create an object in memory.
8. If class C inherits class B. And B has inherited class A. Then while creating the object of class C,
what will be the sequence of constructors getting called?
a) Constructor of C then B, finally of A
b) Constructor of A then C, finally of B
c) Constructor of C then A, finally B
d) Constructor of A then B, finally C
View Answer
Answer: d
Explanation: While creating the object of class C, its constructor would be called by default. But, if
the class is inheriting some other class, firstly the parent class constructor will be called so that all
the data is initialized that is being inherited.
9. In multiple inheritance, if class C inherits two classes A and B as follows, which class constructor
will be called first:
class A{ };
class B{ };
class C: public A, public B{ };
a) A()
b) B()
c) C()
d) Can’t be determined
View Answer
Answer: a
Explanation: Constructor of class A will be called first. This is because the constructors in multiple
inheritance are called in the sequence in which they are written to be inherited. Here A is written first,
hence it is called first.
10. Which among the following is true for copy constructor?
a) The argument object is passed by reference
b) It can be defined with zero arguments
c) Used when an object is passed by value to a function
d) Used when a function returns an object
View Answer
Answer: b
Explanation: It can’t be defined with zero number of arguments. This is because to copy one object
to another, the object must be mentioned so that compiler can take values from that object.
advertisement
a) s1 then s2 then s3
b) s3 then s2 then s1
c) s2 then s3 then s1
d) All are created at same time
View Answer
Answer: a
Explanation: The objects are created in the sequence of how they are written. This happens
because the constructors are called in the sequence of how the objects are mentioned. This is done
in sequence.
13. Which among the following helps to create a temporary instance?
a) Implicit call to a default constructor
b) Explicit call to a copy constructor
c) Implicit call to a parameterized constructor
d) Explicit call to a constructor
View Answer
Answer: d
Explanation: Explicit call to a constructor can let you create temporary instance. This is because the
temporary instances doesn’t have any name. Those are deleted from memory as soon as their
reference is removed.
14. Which among the following is correct for the class defined below?
class student
{
int marks;
public: student(){}
student(int x)
{
marks=x;
}
};
main()
{
student s1(100);
student s2();
student s3=100;
return 0;
a) Default constructor
b) Parameterized constructor
c) Compile time error
d) Run time error
View Answer
Answer: c
Explanation: When a default constructor is defined and another constructor with 1 default value
argument is defined, creating object without parameter will create ambiguity for the compiler. The
compiler won’t be able to decide which constructor should be called, hence compile time error.
6. Which among the following is false for a constructor?
a) Constructors doesn’t have a return value
b) Constructors are always user defined
c) Constructors are overloaded with different signature
d) Constructors may or may not have any arguments being accepted
View Answer
Answer: b
Explanation: The constructors are not always user defined. The construct will be provided implicitly
from the compiler if the used doesn’t defined any constructor. The implicit constructor makes all the
string values null and allocates memory space for each data member.
7. When is the constructor called for an object?
a) As soon as overloading is required
b) As soon as class is derived
c) As soon as class is created
d) As soon as object is created
View Answer
Answer: d
Explanation: The constructor is called as soon as the object is created. The overloading comes into
picture as to identify which constructor have to be called depending on arguments passed in creation
of object.
8. Which among the following function can be used to call default constructor implicitly in java?
a) this()
b) that()
c) super()
d) sub()
View Answer
Answer: a
Explanation: The function this() can be used to call the default constructor from inside any other
constructor. This helps to further reuse the code and not to write the redundant data in all the
constructors.
9. Why do we use constructor overloading?
a) To use different types of constructors
b) Because it’s a feature provided
c) To initialize the object in different ways
d) To differentiate one constructor from another
View Answer
Answer: c
Explanation: The constructors are overloaded to initialize the objects of a class in different ways.
This allows us to initialize the object with either default values or used given values. If data members
are not initialized then program may give unexpected results.
10. If programmer have defined parameterized constructor only, then __________________
a) Default constructor will not be created by the compiler implicitly
b) Default constructor will be created by the compiler implicitly
c) Default constructor will not be created but called at runtime
d) Compile time error
View Answer
Answer: a
Explanation: When the programmer doesn’t specify any default constructor and only defines some
parameterized constructor. The compiler doesn’t provide any default constructor implicitly. This is
because it is assumed that the programmer will create the objects only with constructors.
advertisement
13. Which class destructor will be called first, when following code go out of scope?
class A{ };
class B{ };
class C: public B{ };
A a;
B b;
C c;
a) ~A()
b) ~B()
c) ~C()
d) ~B() and ~C()
View Answer
Answer: c
Explanation: The constructor that would have created at last, its destructor will be called first when
the code goes out of scope. This will help the program to manage the resources more efficiently.
14. When an object is passed to a function, its copy is made in the function and then:
a) The destructor of the copy is called when function is returned
b) The destructor is never called in this case
c) The destructor is called but it is always implicit
d) The destructor must be user defined
View Answer
Answer: a
Explanation: When an object is passed to a function, its copy is made in the function. This copy acts
as a real object till the function is live. When the function is returned, the copy’s destructor is called
to free the resources held by it.
15. What happens when an object is passed by reference?
a) Destructor is not called
b) Destructor is called at end of function
c) Destructor is called when function is out of scope
d) Destructor is called when called explicitly
View Answer
Answer: a
Explanation: The destructor is never called in this situation. The concept is that when an object is
passed by reference to the function, the constructor is not called, but only the main object will be
used. Hence no destructor will be called at end of function.
. Which is the pointer which denotes the object calling the member function?
a) Variable pointer
b) This pointer
c) Null pointer
d) Zero pointer
View Answer
Answer: b
Explanation: The pointer which denotes the object calling the member function is known as this
pointer. The this pointer is usually used when there are members in the function with same name as
those of the class members.
2. Which among the following is true?
a) this pointer is passed implicitly when member functions are called
b) this pointer is passed explicitly when member functions are called
c) this pointer is passed with help of pointer member functions are called
d) this pointer is passed with help of void pointer member functions are called
View Answer
Answer: a
Explanation: When an object calls some member function, it implicitly passes itself as an argument.
This allows the compiler to know which member should be used for the purposes. This also allows to
reduce the ambiguity among the variable and data member names.
3. The this pointer is accessible __________________
a) Within all the member functions of the class
b) Only within functions returning void
c) Only within non-static functions
d) Within the member functions with zero arguments
View Answer
Answer: c
Explanation: The this pointer is available only within the non-static member functions of a class. If
the member function is static, it will be common to all the objects and hence a single object can’t
refer to those functions independently.
4. An object’s this pointer _____________________
a) Isn’t part of class
b) Isn’t part of program
c) Isn’t part of compiler
d) Isn’t part of object itself
View Answer
Answer: d
Explanation: The object’s this pointer being called are not part of the object itself. This can be cross
verified by checking that it doesn’t take up any space for the data to be stored or pointed.
5. The result of sizeof() function __________________
a) Includes space reserved for this pointer
b) Includes space taken up by the address pointer by this pointer
c) Doesn’t include the space taken by this pointer
d) Doesn’t include space for any data member
View Answer
Answer: c
Explanation: The space taken by this pointer is not reflected in by the sizeof() operator. This is
because object’s this pointer is not part of object itself. This is a cross verification for the concept
stating that this pointer doesn’t take any space in the object.
6. Whenever non-static member functions are called _______________
a) Address of the object is passed implicitly as an argument
b) Address of the object is passed explicitly as an argument
c) Address is specified globally so that the address is not used again
d) Address is specified as return type of the function
View Answer
Answer: a
Explanation: The address is passed implicitly as an argument to the function. This doesn’t have to
be passed explicitly. The address is passed, of the object which is calling the non-static member
function.
7. Which is the correct interpretation of the member function call from an object,
object.function(parameter);
a) object.function(&this, parameter)
b) object(&function,parameter)
c) function(&object,¶meter)
d) function(&object,parameter)
View Answer
Answer: d
Explanation: The function name is specified first and then the parameter lists. The parameter list is
included with the object name along with & symbol. This denotes that the address of the object is
being passed as an argument.
8. The address of the object _________________
a) Can’t be accessed from inside the function
b) Can’t be accessed in the program
c) Is available inside the member function using this pointer
d) Can be accessed using the object name inside the member function
View Answer
Answer: c
Explanation: The address of the object with respect to which the member functions are being called,
are stored in this pointer. This pointer is hence used whenever there are members with same name
as those of the variables inside the function.
9. Which among the following is true?
a) This pointer can be used to guard against any kind of reference
b) This pointer can be used to guard against self-reference
c) This pointer can be used to guard from other pointers
d) This pointer can be used to guard from parameter referencing
View Answer
Answer: b
Explanation: The this pointer can be used to guard itself whenever self-reference is used. This
allows accidental address access. And accidental modification of data.
10. Which syntax doesn’t execute/is false when executed?
a) if(&object != this)
b) if(&function !=object)
c) this.if(!this)
d) this.function(!this)
View Answer
Answer: a
Explanation: The condition becomes false when executed and hence doesn’t executes. This is the
case where this pointer can guard itself from the self-reference. Here if the address of the object
doesn’t match with this pointer that means the object doesn’t refer itself.
11. The this pointers _____________________
a) Are modifiable
b) Can be assigned any value
c) Are made variables
d) Are non-modifiable
View Answer
Answer: d
Explanation: The this pointer is non modifiable. This is because the address of any object remains
constant throughout its life time. Hence the address must not be changed otherwise wrong members
of invalid addresses might get accessed.
12. Earlier implementations of C++ ___________________
a) Never allowed assignment to this pointer
b) Allowed no assignment to this pointer
c) Allowed assignments to this pointer
d) Never allowed assignment to any pointer
View Answer
Answer: c
Explanation: The earlier, most initial versions of C++ used to allow assignments to this pointers. That
used to allow modifications of this pointer. Later that feature got disabled.
advertisement
a) Single level
b) Multilevel and single level
c) Hierarchical
d) Hierarchical and single level
View Answer
Answer: c
Explanation: It is hierarchical inheritance and single level inheritance. Since class topper is inheriting
class student, it is single level inheritance. And then average is inherited by section and overall, so it
is hierarchical inheritance. But both of them are separate. Hence it is not hybrid inheritance.
4. Which among the following best describes multiple inheritance?
a) Two classes being parent of any other classes
b) Three classes being parent of other classes
c) More than one class being parent of other child classes
d) More than one class being parent of single child
View Answer
Answer: d
Explanation: If a class inherits more than one class, it is known as multiple inheritance. This should
not be referred with only two or three classes being inherited. But there must be one class which
inherits more than one class to be called as multiple inheritance.
5. How many types of inheritance can be used at a time in single program?
a) Any two types
b) Any three types
c) Any 4 types
d) Any type, any number of times
View Answer
Answer: d
Explanation: Any type of inheritance can be used in any program. There is no rule to use only few
types of inheritance. Only thing that matters is how the classes are inherited and used.
6. Which type of inheritance results in diamond problem?
a) Single level
b) Hybrid
c) Hierarchical
d) Multilevel
View Answer
Answer: b
Explanation: In diamond problem, hierarchical inheritance is used first, where two different classes
inherit the same class and then in turn a 4th class inherits the two classes which had inherited the
first class. Using more than one type of inheritance here, it is known as hybrid inheritance.
7. If 6 classes uses single level inheritance with pair classes (3 pairs), which inheritance will this be
called?
a) Single
b) Multiple
c) Hierarchical
d) Multilevel
View Answer
Answer: a
Explanation: Here all the pairs are using single inheritance. And no different pairs are inheriting
same classes. Hence it can’t be called hybrid or multilevel inheritance. You can say the single
inheritance is used 3 times in that program.
8. Which among the following is correct for the following code?
class A
{
public : class B
{
public : B(int i): data(i)
{
}
int data;
}
};
class C: public A
{
class D:public A::B{ };
};
a) Class A
b) Class B
c) Class C
d) None
View Answer
Answer: b
Explanation: Class B is using single level inheritance. Class C is using multiple inheritance. And
class A is parent of other two classes.
6. If single level inheritance is used and an abstract class is created with some undefined functions,
can its derived class also skip some definitions?
a) Yes, always possible
b) Yes, possible if only one undefined function
c) No, at least 2 undefined functions must be there
d) No, the derived class must implement those methods
View Answer
Answer: d
Explanation: The derived class must implement those methods. This is because the parent class is
abstract and hence will have some undefined functions which has to be defined in derived classes.
Since we are using single level inheritance, if derived class doesn’t implement those functions then
one more class has to be there which will become multi-level inheritance.
7. Which among the following is false for single level inheritance?
a) There can be more than 2 classes in program to implement single inheritance
b) There can be exactly 2 classes to implement single inheritance in a program
c) There can be more than 2 independent classes involved in single inheritance
d) The derived class must implement all the abstract method if single inheritance is used
View Answer
Answer: c
Explanation: If more than 2 independent classes are involved to implement the single level
inheritance, it won’t be possible as there must be only one child and one parent class and none
other related class.
8. Which concept will result in derived class with more features (consider maximum 3 classes)?
a) Single inheritance
b) Multiple inheritance
c) Multilevel inheritance
d) Hierarchical inheritance
View Answer
Answer: b
Explanation: If single inheritance is used then only feature of a single class are inherited, and if
multilevel inheritance is used, the 2nd class might have use private inheritance. Hence only multiple
inheritance can result in derived class with more features. This is not mandatory but in a case if we
consider same number of features in each class, it will result the same.
9. Single level inheritance is safer than _____________
a) Multiple inheritance
b) Interfaces
c) Implementations
d) Extensions
View Answer
Answer: a
Explanation: Interfaces also represent a way of inheritance but is a wide word to decide which
inheritance we are talking about in it, hence can’t be considered. Implementation and extensions
also doesn’t match that level of specific idea. And multiple inheritance not so safe as it might result in
some ambiguity.
10. Which language doesn’t support single level inheritance?
a) Java
b) C++
c) Kotlin
d) All languages support it
View Answer
Answer: d
Explanation: All the languages support single level inheritance. Since any class can inherit other
classes as required, if single level inheritance was not allowed it would result in failing a lot of
features of OOP.
advertisement
a) Garbage value
b) Compile time error
c) Runtime error
d) Runs but gives random values as output
View Answer
Answer: b
Explanation: The compiler doesn’t find the main function and hence will throw an error main()
missing. This program is using single level inheritance but the program is incomplete. Every program
must implement main function.
12. Output of following program?
class A
{
float sal=40000;
}
class B extends A
{
int salBonus=10000;
public static void main(String args[])
{
B p=new B();
System.out.println("B salary is:"+p.sal);
System.out.println("Bonus of B is:"+p.bonus);
}
}
a) Class A,B,C
b) Class B,C,D
c) Class A,C,D
d) Class D,A,B
View Answer
Answer: d
Explanation: Class A is base class and B and D are derived classes. If class C is considered, it
shows hybrid inheritance, involving single level and multiple inheritance.
8. Which among the following is correct for following code ?
abstract class A
{
public Int a;
public void disp();
};
class B:public A
{
public: void dis()
{
court<<a;
}
};
class C:private A
{
public void incr()
{
a++;
}
}
void main()
{
B b.disp();
}
9. How many classes can be derived from the base class using hierarchical inheritance?
a) As many as required
b) Only 7
c) Only 3
d) Up to 127
View Answer
Answer: a
Explanation: The number of classes that can be derived from a base class doesn’t have any
restriction and hence will be able to derive as many classes as required. This feature gives more
flexibility and code reusability.
10. If one class have derived the base class privately then another class can’t derive the base class
publically.
a) True
b) False
View Answer
Answer: b
Explanation: The classes are independent and can access the base class and inherit it in whichever
way it is required. The classes can use the base base class members privately or publically
maintaining the security of data and methods.
11. Which among the following is true ?
a) Hierarchical inheritance is subset of multiple inheritance
b) Hierarchical inheritance is strongest inheritance type
c) Hierarchical inheritance uses only 2 classes for implementation
d) Hierarchical inheritance allows inheritance of common features to more than one class
View Answer
Answer: d
Explanation: Hierarchical inheritance is used to make all the inherited classes have some common
features obtained from a single base class. This allows all the classes to maintain a group or to be
classified under one class.
12. Hierarchical inheritance can be a subset of _________________
a) Hybrid inheritance
b) Multiple inheritance
c) Single level inheritance
d) Multilevel inheritance
View Answer
Answer: a
Explanation: When we use hybrid inheritance, it can contain any type of inheritance or combination
or more than two types. Hence it may contain Hierarchical inheritance too, hence it can be subset of
hybrid inheritance.
13. Which type of inheritance is most suitable for inheriting Same syllabus into different colleges with
different streams?
a) Multiple
b) Single
c) Hierarchical
d) Multilevel
View Answer
Answer: c
Explanation: When hierarchical inheritance is used, the common syllabus can be adopted into
different college classes where the same syllabus is applicable. For changing the syllabus only the
details of base class will have to changed.
14. Which class constructor is called first when an object of derived class is created?
a) Base class constructor
b) Derived class constructor
c) Firstly created derived class constructor
d) Last created derived class constructor
View Answer
Answer: a
Explanation: The base class must be initialised first hence the constructor of base class is called
first. This makes everything ready for the new object being created.
15. All the derived classes can access only few members of base class that other derived classes
can’t access at same time, in hierarchical inheritance.
a) True
b) False
View Answer
Answer: b
Explanation: The derived classes have full access to all the non private member’s of base class.
Every derived class have equal access, none of the class can have special access to specific
members of base class in general cases.
1. Which among the following best defines multilevel inheritance?
a) A class derived from another derived class
b) Classes being derived from other derived classes
c) Continuing single level inheritance
d) Class which have more than one parent
View Answer
Answer: b
Explanation: Only if the class is being derived from other derived class, it can be called as multilevel
inheritance. If a class is derived from another class, it is single level inheritance. There must be more
than one level of inheritance.
2. If there are 5 classes, E is derived from D, D from C, C from B and B from A. Which class
constructor will be called first if the object of E or D is created?
a) A
b) B
c) C
d) A and B
View Answer
3. If there are 3 classes. Class C is derived from class B and B is derived from A, Which class
destructor will be called at last if object of C is destroyed.
a) A
b) B
c) C
d) All together
View Answer
Answer: a
Explanation: The destructors are called in the reverse order of the constructors being called. Hence
in multilevel inheritance, the constructors are created from parent to child, which leads to destruction
from child to parent. Hence class A destructor will be called at last.
4. Which Class is having highest degree of abstraction in multilevel inheritance of 5 levels?
a) Class at 1st level
b) Class 2nd last level
c) Class at 5th level
d) All with same abstraction
View Answer
Answer: a
Explanation: The class with highest degree of abstraction will be the class at the 1st level. You can
look at a simple example like, a CAR is more abstract than SPORTS CAR class. The level of
abstraction decrease with each level as more details comes out.
5. If all the classes use private inheritance in multilevel inheritance then ______________
a) It will not be called multilevel inheritance
b) Each class can access only non-private members of its parent
c) Each subsequent class can access all members of previous level parent classes
d) None of the members will be available to any other class
View Answer
Answer: b
Explanation: The classes will be able to access only the non-private members of its parent class.
The classes are using private inheritance, hence all the members of parent class become private in
the derived class. In turn those won’t be allowed for further inheritance or direct access outside the
class.
6. Multilevel inheritance allows _________________ in the program.
a) Only 7 levels of inheritance
b) At least 7 levels of inheritance
c) At most 16 levels of inheritance
d) As many levels of inheritance as required
View Answer
Answer: d
Explanation: The multilevel inheritance allows any number of levels of inheritance. This is the
maximum flexibility feature to make the members available to all the new classes and to add their
own functionalities. The code reusability is used too.
7. What is minimum number of levels for a implementing multilevel inheritance?
a) 1
b) 2
c) 3
d) 4
View Answer
Answer: c
Explanation: There must be at least 3 levels of inheritance. Otherwise if less, it will be single level
inheritance or would have got no inheritance implemented. There must be a derived class from
which another class is derived.
8. In multilevel inheritance one class inherits _______________
a) Only one class
b) More than one class
c) At least one class
d) As many classes as required
View Answer
Answer: a
Explanation: The classes inherit only from one class. This continues as each class inherits only one
class. There should not be any class which inherits from two or more classes or which have more
than one subclass.
9. All the classes must have all the members declared private to implement multilevel inheritance.
a) True
b) False
View Answer
Answer: b
Explanation: There is no mandatory rule to make the members private for multilevel inheritance.
Moreover if all the classes have only the private members then there won’t be any member to get
inherited. Hence the working will be of no use.
10. Can abstract classes be used in multilevel inheritance?
a) Yes, always
b) Yes, only one abstract class
c) No, abstract class doesn’t have constructors
d) No, never
View Answer
Answer: a
Explanation: The abstract classes can always be used in multilevel inheritance. The only condition
that may arise is that all the undefined functions must be defined in subclasses. There must not be
any undefined function.
11. How many abstract classes can be used in multilevel inheritance?
a) Only 1
b) Only 2
c) At least one less than number of levels
d) Can’t be used
View Answer
Answer: c
Explanation: At least one class must implement all the undefined functions. Hence there must be at
least one class which is not abstract. That is at least one less than number of levels.
12. If all the classes used parameterized constructors and no default constructor then, ___________
a) The object of lower level classes can’t be created
b) Object of lower level classes must call parent class constructors explicitly
c) Object of lower level classes must define all the default constructors
d) Only object of first class can be created, which is first parent
View Answer
Answer: b
Explanation: Each class constructor must be called before creating object of any subclass. Hence it
will be mandatory to call the constructors of parent classes explicitly with parameters. This will make
all the previous class member be initialized and then the class in use will be able to create the
object.
advertisement
13. In multilevel inheritance, which is the most significant feature of OOP used?
a) Code readability
b) Flexibility
c) Code reusability
d) Code efficiency
View Answer
Answer: c
Explanation: The classes using multilevel inheritance will use the code in all the subsequent
subclasses if available. Hence the most significant feature among the options given is code
reusability. This feature is generally intended to use the data values and reuse the redundant
functions.
14. Does following code show multiple inheritance?
class A
{
int a;
};
class B
{
int b;
};
class C:public A, public B
{
int c;
};
class D:public C
{
int d;
};
a) Yes, class C and class D
b) Yes, All together it’s multilevel
c) No, 4 classes are used
d) No, multiple inheritance is used with class A, B and C
View Answer
Answer: d
Explanation: Since multiple inheritance is used to derive class C and then class D is derived from
class C. This is not multilevel inheritance. The classes should derive from single class. This is
actually hybrid inheritance.
15. Is it compulsory for all the classes in multilevel inheritance to have constructors defined explicitly
if only last derived class object is created?
a) Yes, always
b) Yes, to initialize the members
c) No, it not necessary
d) No, Constructor must not be defined
View Answer
Answer: c
Explanation: It’s not mandatory to define the constructors explicitly. Default constructor will always
be provided by the compiler itself if none another constructor is defined in those classes. If explicit
default constructor is defined it will be used.
1. Multiple inheritance is ____________________
a) When a class is derived from another class
b) When a class is derived from two or more classes
c) When a class is derived from other two derived classes
d) When a class is derived from exactly one class
View Answer
Answer: b
Explanation: The multiple inheritance is used when a class is being derived using two base classes
or more. This way a single class can have features of more than one classes inherited into a single
unit. This lets us combine two class members into a single class.
2. Which problem arises due to multiple inheritance, if hierarchical inheritance is used previously for
its base classes?
a) Diamond
b) Circle
c) Triangle
d) Loop
View Answer
Answer: a
Explanation: The diamond problem arises when multiple inheritance is used. This problem arises
because the same name member functions get derived into a single class. Which in turn creates
ambiguity in calling those methods.
3. How many classes should a program contain to implement the multiple inheritance?
a) Only 1
b) At least 1
c) At least 3
d) Exactly 3
View Answer
Answer: c
Explanation: For the implementation of multiple inheritance, there must be at least 3 classes in a
program. At least 2 base classes and one class to inherit those two classes. If lesser, it becomes
single level inheritance.
4. Which programming language restricts the use of multiple inheritance?
a) C++
b) PHP
c) SmallTalk
d) Java
View Answer
Answer: d
Explanation: Java doesn’t allow use of multiple inheritance with classes. But this can be done by
using the interfaces. This is more secure and unambiguous way to implement multiple inheritance.
5. Is it possible to have all the abstract classes as base classes of a derived class from those?
a) Yes, always
b) Yes, only if derived class implements all the methods
c) No, because abstract classes doesn’t have constructors
d) No, never
View Answer
Answer: b
Explanation: The condition for abstract class applies same here too. All the undefined functions must
be defined. Hence all the base classes can be abstract but derived class must implement all those
undefined functions.
6. If class A inherits class B and class C as “class A: public class B, public class C {// class body ;}; ”,
which class constructor will be called first?
a) Class A
b) Class B
c) Class C
d) All together
View Answer
Answer: b
Explanation: The constructors of parent class will be called first. In that, the constructor of the
classes will be called in the same sequence as that mentioned in class definition inheritance. Since
class B is mentioned first for inheritance, its constructor will be called first.
7. Why does diamond problem arise due to multiple inheritance?
a) Methods with same name creates ambiguity and conflict
b) Methods inherited from the superclass may conflict
c) Derived class gets overloaded with more than two class methods
d) Derived class can’t distinguish the owner class of any derived method
View Answer
Answer: a
Explanation: All the derived classes can distinguish the base class members, but if a method is
being inherited to the base classes from another class which again gets inherited into same class
(diamond shape), that may create conflict in using the function from two available.
8. How many base classes can a derived class have which is implementing multiple inheritance?
a) Only 2
b) At least 2
c) At most 2
d) As many as required
View Answer
Answer: d
Explanation: The classes can derive from as many classes as required since the multiple inheritance
feature is made to combine or group together the functions that are from different classes. This
make the derived class stronger in terms of its flexibility.
9. How to overcome diamond problem ?
a) Using alias name
b) Using seperate derived class
c) Using virtual keyword with same name function
d) Can’t be done
View Answer
Answer: c
Explanation: To overcome the ambiguity and conflict we can use keyword virtual. This will help us to
differentiate the functions with same name that came to last derived class in diamond problem.
10. When multiple inheritance is used, which class object should be used in order to access all the
available members of parent and derived class ?
a) Derived class object
b) Parent class objects
c) Use Abstract derived class
d) Derive a class from derived class
View Answer
Answer: a
Explanation: The derived class object can access all of its own members. It can also access the
available members of the parent classes, because the members are derived into the derived class.
11. If all the members of all the base classes are private then,
a) There won’t be any use of multiple inheritance
b) It will make those members public
c) Derived class can still access them in multiple inheritance
d) Compile time error
View Answer
Answer: a
Explanation: The derived class will not be able to access any members of the base classes. Since
private member’s are not inheritable. It leads to no use of multiple inheritance.
12. Is it compulsory to have constructor for all the classes involved in multiple inheritance?
a) Yes, always
b) Yes, only if no abstract class is involved
c) No, only classes being used should have a constructor
d) No, they must not contain constructors
View Answer
Answer: b
Explanation: The constructors must be defined in every class. If class is abstract, it won’t have any
constructor but other classes must have constructor. Either implicit or explicit.
advertisement
13. If a class contains 2 nested class and is being inherited by another class, will there be any
multiple inheritance?
a) No, only single level inheritance is used
b) No, only multilevel inheritance is used
c) Yes, because 3 classes are involved
d) Yes, because more than 1 classes are being derived
View Answer
Answer: a
Explanation: When a class having nested classes is being derived into another class. It indirectly
means a simple class is being inherited to another class. This is single level inheritance.
14. Which members can’t be accessed in derived class in multiple inheritance ?
a) Private members of base
b) Public members of base
c) Protected members of base
d) All the members of base
View Answer
Answer: a
Explanation: The private member’s are available for only the class containing those members.
Derived classes will have access to protected and public members only.
15. Can the derived class be made abstract if multiple inheritance is used ?
a) No, because other classes must be abstract too
b) Yes, if all the functions are implemented
c) Yes, if all the methods are predefined
d) No, since constructors won’t be there
View Answer
Answer: d
Explanation: The derived class must not be abstract. This is because the abstract classes doesn’t
have constructor and hence we won’t be having capability to have instances. This will restrict use of
multiple inheritance.
1. Which among the following is best to define hierarchical inheritance?
a) More than one classes being derived from one class
b) More than 2 classes being derived from single base class
c) At most 2 classes being derived from single base class
d) At most 1 class derived from another class
View Answer
Answer: a
Explanation: When two or more classes get derived from a single base class, it is known as
hierarchical inheritance. This gives us freedom to use same code with different scopes and flexibility
into different classes.
2. Do members of base class gets divided among all of its child classes ?
a) Yes, equally
b) Yes, depending on type of inheritance
c) No, it’s doesn’t get divided
d) No, it may or may not get divided
View Answer
Answer: c
Explanation: The class members doesn’t get divided among the child classes. All the members get
derived to each of the subclasses as whole. The only restriction is from the access specifiers used.
3. Each class can inherit the base class ________________
a) Independently using any inheritance
b) Independently with private inheritance only
c) With same type of inheritance
d) With each class using different inheritance only
View Answer
Answer: a
Explanation: The classes can inherit the base class using any type of inheritance. There is no
mandatory condition to use same private,public or protected inheritance only.
4. How many classes must be there to implement hierarchical inheritance ?
a) Exactly 3
b) At least 3
c) At most 3
d) At least 1
View Answer
Answer: b
Explanation: At least 3 classes must be there. Two derived classes and one base class. This lets us
implement two classes that have common characteristics from base class.
5. Base class _______________
a) Can be made abstract
b) Can’t be made abstract
c) Must be abstract
d) If made abstract, compile time error
View Answer
Answer: a
Explanation: The base class may or may not be declared abstract. It depends on the need of
program. If it is made abstract, it can contain undefined functions too. In turn, those functions will
have to be implemented by each of the derived classes.
6. Which access specifiers should be used so that all the derived classes restrict further inheritance
of base class members?
a) Private
b) Public
c) Protected
d) Any inheritance type can be used
View Answer
Answer: a
Explanation: All the derived classes must use private inheritance. This will make the members of
base class private in derived classes. Hence none of the members of base class will be available for
further inheritance.
7. 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;
};
a) Class A,B,C
b) Class B,C,D
c) Class A,C,D
d) Class D,A,B
View Answer
Answer: d
Explanation: Class A is base class and B and D are derived classes. If class C is considered, it
shows hybrid inheritance, involving single level and multiple inheritance.
8. Which among the following is correct for following code ?
abstract class A
{
public Int a;
public void disp();
};
class B:public A
{
public: void dis()
{
court<<a;
}
};
class C:private A
{
public void incr()
{
a++;
}
}
void main()
{
B b.disp();
}
9. How many classes can be derived from the base class using hierarchical inheritance?
a) As many as required
b) Only 7
c) Only 3
d) Up to 127
View Answer
Answer: a
Explanation: The number of classes that can be derived from a base class doesn’t have any
restriction and hence will be able to derive as many classes as required. This feature gives more
flexibility and code reusability.
10. If one class have derived the base class privately then another class can’t derive the base class
publically.
a) True
b) False
View Answer
Answer: b
Explanation: The classes are independent and can access the base class and inherit it in whichever
way it is required. The classes can use the base base class members privately or publically
maintaining the security of data and methods.
11. Which among the following is true ?
a) Hierarchical inheritance is subset of multiple inheritance
b) Hierarchical inheritance is strongest inheritance type
c) Hierarchical inheritance uses only 2 classes for implementation
d) Hierarchical inheritance allows inheritance of common features to more than one class
View Answer
Answer: d
Explanation: Hierarchical inheritance is used to make all the inherited classes have some common
features obtained from a single base class. This allows all the classes to maintain a group or to be
classified under one class.
12. Hierarchical inheritance can be a subset of _________________
a) Hybrid inheritance
b) Multiple inheritance
c) Single level inheritance
d) Multilevel inheritance
View Answer
Answer: a
Explanation: When we use hybrid inheritance, it can contain any type of inheritance or combination
or more than two types. Hence it may contain Hierarchical inheritance too, hence it can be subset of
hybrid inheritance.
13. Which type of inheritance is most suitable for inheriting Same syllabus into different colleges with
different streams?
a) Multiple
b) Single
c) Hierarchical
d) Multilevel
View Answer
Answer: c
Explanation: When hierarchical inheritance is used, the common syllabus can be adopted into
different college classes where the same syllabus is applicable. For changing the syllabus only the
details of base class will have to changed.
14. Which class constructor is called first when an object of derived class is created?
a) Base class constructor
b) Derived class constructor
c) Firstly created derived class constructor
d) Last created derived class constructor
View Answer
Answer: a
Explanation: The base class must be initialised first hence the constructor of base class is called
first. This makes everything ready for the new object being created.
15. All the derived classes can access only few members of base class that other derived classes
can’t access at same time, in hierarchical inheritance.
a) True
b) False
View Answer
Answer: b
Explanation: The derived classes have full access to all the non private member’s of base class.
Every derived class have equal access, none of the class can have special access to specific
members of base class in general cases.
1. Which among the following best defines the hybrid inheritance?
a) Combination of two or more inheritance types
b) Combination of same type of inheritance
c) Inheritance of more than 7 classes
d) Inheritance involving all the types of inheritance
View Answer
Answer: a
Explanation: When more than one type of inheritance are used together, it results in new type of
inheritance which is in general known as hybrid inheritance. This may of may not have better
capabilities.
2. How many types of inheritance should be used for hybrid ?
a) Only 1
b) At east 2
c) At most two
d) Always more than 2
View Answer
Answer: b
Explanation: There must be combination of at least 2 types of inheritance. The inheritance should be
of different type.
3. If single inheritance is used with class A and B. A is base class. Then class C,D and E where C is
base class and D is derived from C, then E is derived from D. Class C is made to inherit from class
B. Which is the resultant type ?
a) Single level
b) Multilevel
c) Hybrid
d) Multiple
View Answer
Answer: b
Explanation: The statement represents multilevel inheritance. It is not hybrid since looking at
complete idea, one can’t differentiate whether two type of inheritance are used. Hence it is multilevel
inheritance.
4. Diamond problem includes ____________________ hybrid inheritance
a) Hierarchical and Multiple
b) Hierarchical and Hierarchical
c) Multiple and Multilevel
d) Single, Hierarchical and Multiple
View Answer
Answer:a
Explanation: The diamond problem arises when more than one classes are derived from one class
and then those classes are used to derive single clas. Resulting in ambiguity of same functions from
each class.
5. If __________________ inheritance is done continuously, it is similar to tree structure.
a) Hierarchical
b) Multiple
c) Multilevel
d) Hierarchical and Multiple
View Answer
Answer: a
Explanation: Hierarchical inheritance is deriving more than one classes from a base class, it it is
done continuously and subsequently, it results forming a tree like structure of classes being linked.
6. Which amongst the following is true for hybrid inheritance?
a) Constructor calls are in reverse
b) Constructor calls are priority based
c) Constructor of only derived class is called
d) Constructor calls are usual
View Answer
Answer: d
Explanation: The constructors will be called in usual way. First the parent class Constructor and then
the derived class Constructors. This is done to initialise all the members properly.
7. Which type of inheritance must be used so that the resultant is hybrid?
a) Multiple
b) Hierarchical
c) Multilevel
d) None
View Answer
Answer: d
Explanation: The use of any specific type is not necessary. Though the final structure should not be
the same, it should represent more than one type of inheritance if class diagram is drawn.
8. The private member’s are made public to all the classes in inheritance.
a) True
b) False
View Answer
Answer: b
Explanation: The private member’s scope can’t be changed and those can never be accessed in
other classes. Only the class containing private member’s can access its own members.
9. If hierarchical inheritance requires to inherit more than one class to single class, which syntax is
correct? ( A,B,C are class names )
a) hierarchical class A: public B, public C
b) multiple class A: public B, public C
c) many class A: public B, public C
d) class A: public B, public C
View Answer
Answer: d
Explanation: The syntax is as same as declaration of other classes. There is no specific keyword
defined for using hybrid inheritance in programming. Only thing is to specify the class name
separated by commas.
10. What is the maximum number of classes allowed in hybrid inheritance?
a) 7
b) 127
c) 255
d) As many as required
View Answer
Answer: d
Explanation: The classes in any type of inheritance can inherit as many classes as required. The
only condition that may arise is memory management. The classes can inherit most of the features
from more than one class.
11. What is the minimum number of classes to be there in a program implementing hybrid
inheritance?
a) 2
b) 3
c) 4
d) No limit
View Answer
Answer: d
Explanation: The answer is no limit. There is no condition defined for limit of classes that has to be
used in hybrid. Though you must have at least 4 classes so that one set of multiple or hierarchical
inheritance is there and one more class to use single level inheritance.
12. If object of lowest level class is created ( last derived class ), _________________ of its parent
class constructors are called.
a) Few
b) All
c) Only parent and parent
d) Base and Derived
View Answer
Answer: c
Explanation: When derived class object is created, all of its successor parent classes constructors
are called. Constructor of all the connected classes is not created. Since the parent members have
to be initialised, but other derived classes are not needed.
advertisement
a) 22 Bytes
b) 24 Bytes
c) 20 Bytes
d) 18 Bytes
View Answer
Answer: a
Explanation: The size of an object of the class given in question will be of size 22 bytes. This is
because the size of an object is always equal to the sum of sizes of the data members of the class,
except static members.
7. Which keyword among the following can be used to declare an array of objects in java?
a) new
b) create
c) allocate
d) arr
View Answer
Answer: a
Explanation: The keyword new can be used to declare an array of objects in java. The syntax must
be specified with an object pointer which is assigned with a memory space containing the required
number of object space. Even initialization can be done directly.
8. When is the memory allocated for an object gets free?
a) At termination of program
b) When object goes out of scope
c) When main function ends
d) When system restarts
View Answer
Answer: b
Explanation: Whenever an object goes out of scope, the deletion of allocation memory takes place.
Actually the data is not deleted, instead the memory space is flagged to be free for further use.
Hence whenever an object goes out of scope the object members become useless and hence
memory is set free.
9. Which among the following keyword can be used to free the allocated memory for an object?
a) delete
b) free
c) either delete or free
d) only delete
View Answer
Answer: c
Explanation: The memory allocated for an object is usually automatically made free. But if explicitly
memory has to be made free then we can use either free or delete keywords depending on
programming languages.
10. Which function is called whenever an object goes out of scope?
a) Destructor function
b) Constructor function
c) Delete function
d) Free function
View Answer
Answer: a
Explanation: The destructor function of the class is called whenever an object goes out of scope.
This is because the destructor set all the resources, acquired by the object, free. This is an implicit
work of compiler.
advertisement