SlideShare a Scribd company logo
1 of 12
Download to read offline
ACEDAMIN YEAR 2013-14

ALL THE BEST!
EEE OOPS LAB
VIVA Questions

1. Object
Object is the basic unit of object-oriented programming. Objects are identified by its
unique name. An object represents a particular instance of a class. There can be more
than one instance of an object. Each instance of an object can hold its own relevant data.
2. What are classes?
A class is a collection of objects of similar type. Once a class is defined any number of
objects can be created of that class.
Examples of classes are class of cars, class of pens, class of birds etc.
3. What are Instances?
Instances are essentially objects derived out of classes.
When an object is created for a particular class the process is called Instantiation.
In general, life time of object is nothing but the time between an object creation, till the
object is no longer used and is destructed or freed.
4. What is OOPs?
Ans: Object oriented programming organizes a program around its data,i.e.,objects and a
set of well defined interfaces to that data.An object-oriented program can be
characterized as data controlling access to code.
5. What is encapsulation?
Data Encapsulation combines data and functions into a single unit called Class. When
using Data Encapsulation, data is not accessed directly; it is only accessible through the
functions present inside the class. Data Encapsulation enables the important concept of
data hiding possible.
6. What is the difference between Assignment and Initialization?
Ans: Assignment can be done as many times as desired whereas initialization can be done
only once in the begining.
7. What is the difference between Procedural and OOPs?
Ans: a) In procedural program, programming logic follows certain procedures and the
instructions are executed one after another. In OOPs program, unit of program is object,
which is nothing but combination of data and code. b) In procedural program,data is
exposed to the whole program whereas in OOPs program,it is accessible with in the
object and which in turn assures the security of the code.
8. What are Encapsulation?
Ans: Encapsulation is the mechanism that binds together code and data it manipulates
and
keeps
both
safe
from
outside
interference
and
misuse.
Inheritance is the process by which one object acquires the properties of another object.
9. What Primitive data types?
Ans: Primitive data types are also called as basic data types and are of 8 types and they
are: byte, short, int, long,float, double,boolean,char
10. What is the use of new operator?
Ans: When an object is created using new operator, memory is allocated to it.
11. What are methods and how are they defined?
Ans: Methods are functions that operate on instances of classes in which they are defined.
Objects can communicate with each other using methods and can call methods in other
classes.

OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT

Page 1 of 12
ACEDAMIN YEAR 2013-14

ALL THE BEST!

Method definition has four parts. They are name of the method, type of object or
primitive type the method returns, a list of parameters and the body of the method. A
method's signature is a combination of the first three parts mentioned above.
12. How many ways can an argument be passed to a subroutine and explain them?
Ans: An argument can be passed in two ways. They are passing by value and passing by
reference.
Passing by value: This method copies the value of an argument into the formal parameter
of the subroutine.
Passing by reference: In this method, a reference to an argument (not the value of the
argument) is passed to the parameter.
13. What are different types of access modifiers?
Ans: public: Any thing declared as public can be accessed from anywhere.
private: Any thing declared as private can't be seen outside of its class.
protected: Any thing declared as protected can be accessed by classes in the same
package and subclasses in the other packages.
default modifier : Can be accessed only to classes in the same package.
14. What is method overloading and method overriding?
Ans: Method overloading: When methods in a class having the same method name with
different arguments is said to be method overloading.
Method overriding : When methods in a class having the same method name with same
arguments is said to be method overriding.
15. What is difference between overloading and overriding?
Ans: a) In overloading, there is a relationship between methods available in the same
class whereas in overriding, there is relationship between a superclass method and
subclass method.
b) Overloading does not block inheritance from the superclass whereas overriding blocks
inheritance from the superclass.
c) In overloading, separate methods share the same name whereas in overriding,subclass
method replaces the superclass.
d) Overloading must have different method signatures whereas overriding must have
same signature.
16. What is the difference between interpreters and compilers?
Interpreters read through source code and translate a program, turning the programmer’s
code, or program instructions, directly into actions. Compilers translate source code into
an executable program that can be run at a later time.
17. How do you compile the source code with your compiler?
Every compiler is different. Be sure to check the documentation that came with your
compiler.
18. What is the difference between the compiler and the preprocessor?
Each time you run your compiler, the preprocessor runs first. It reads through your source
code and includes the files you’ve asked for, and performs other housekeeping chores.
The preprocessor is discussed in detail on Day 18, “Object-Oriented Analysis and
Design.”
19. Why is the function main() special?
main() is called automatically, each time your program is executed.
20. What are the two types of comments, and how do they differ?

OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT

Page 2 of 12
ACEDAMIN YEAR 2013-14

ALL THE BEST!

C++ – style comments are two slashes (//), and they comment out any text until the end
of the line. C – style comments come in pairs (/* */), and everything between the
matching pairs is commented out. You must be careful to ensure you have matched pairs.
21. Can comments be nested?
Yes, C++ – style comments can be nested within C -style comments. You can, infact,nest
C- style comments within C++- style comments, as long as you remember that the C++ –
style comments end at the end of the line.
22. Can comments be longer than one line?
C- style comments can. If you want to extend C++ – style comments to a second line, you
must put another set of double slashes (//).
23. What are the differences between the function prototype and the function
definition?
The function prototype declares the function; the definition defines it. The prototype ends
with a semicolon; the definition need not. The declaration can include the keyword inline
and default values for the parameters; the definition cannot. The declaration need not
include names for the parameters; the definition must.
24. If a function doesn’t return a value, how do you declare the function?
Declare the function to return void.
25. If you don’t declare a return value, what type of return value is assumed?
Any function that does not explicitly declare a return type returns int.
26. What is a local variable?
A local variable is a variable passed into or declared within a block, typically a function.
It is visible only within the block.
27. What is scope?
Scope refers to the visibility and lifetime of local and global variables. Scope is usually
established by a set of braces.
28. What is recursion?
Recursion generally refers to the ability of a function to call itself.
29. When should you use global variables?
Global variables are typically used when many functions need access to the same data.
Global variables are very rare in C++; once you know how to create static class variables,
you will almost never create global variables.
30. What is function overloading?
Function overloading is the ability to write more than one function with the same name,
distinguished by the number or type of the parameters.
31. What is polymorphism?
Polymorphism allows routines to use variables of different types at different times. An
operator or function can be given different meanings or functions. Polymorphism refers
to a single function or multi-functioning operator performing in different ways.
32. Is the declaration of a class its interface or its implementation?
The declaration of a class is its interface; it tells clients of the class how to interact with
the class. The implementation of the class is the set of member functions stored usually in
a related CPP file.
33. What is the difference between public and private data members?
Public data members can be accessed by clients of the class. Private data members can be
accessed only by member functions of the class.

OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT

Page 3 of 12
am
jeb

s
ose
ACEDAMIN YEAR 2013-14

ALL THE BEST!

34. Can member functions be private?
Yes. Both member functions and member data can be private.
35. Can member data be public?
Although member data can be public, it is good programming practice to make it private
and to provide public accessor functions to the data.
36. Do class declarations end with a semicolon? Do class method definitions?
Declarations end with a semicolon after the closing brace; function definitions do not.
37. What is the difference between the indirection operator and the address of
operator?
The indirection operator returns the value at the address stored in a pointer. The address
of operator (&) returns the memory address of the variable.
38. What is the difference between a reference and a pointer?
A reference is an alias, and a pointer is a variable that holds an address. References
cannot be null and cannot be assigned to.
39. When you overload member functions, in what ways must they differ?
Overloaded member functions are functions in a class that share a name but differ in the
number or type of their parameters.
40. What is the difference between a declaration and a definition?
A definition sets aside memory, but a declaration does not. Almost all declarations are
definitions; the major exceptions are class declarations, function prototypes, and typedef
statements.
41. When is the copy constructor called?
Whenever a temporary copy of an object is created. This happens every time an object is
passed by value.
42. When is the destructor called?
The destructor is called each time an object is destroyed, either because it goes out of
scope or because you call delete on a pointer pointing to it.
43. How does the copy constructor differ from the assignment operator (=)?
The assignment operator acts on an existing object; the copy constructor creates a new
one.
44. What is the ‘this’ pointer?
The this pointer is a hidden parameter in every member function that points to the object
itself.
45. How do you differentiate between overloading the prefix and postfix increments?
The prefix operator takes no parameters. The postfix operator takes a single int
parameter, which is used as a signal to the compiler that this is the postfix variant.
46. Can you overload the operator+ for short integers?
No, you cannot overload any operator for built-in types.
47. Is it legal in C++ to overload operator++ so that it decrements a value in your class?
It is legal, but it is a bad idea. Operators should be overloaded in a way that is likely to be
readily understood by anyone reading your code.
48. What return value must conversion operators have in their declaration?
None. Like constructors and destructors, they have no return values.
49. What is the protected keyword used for?
protected members are accessible to the member functions of derived objects.
50. What is a down cast?

OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT

Page 4 of 12
ACEDAMIN YEAR 2013-14

ALL THE BEST!

A down cast (also called “casting down”) is a declaration that a pointer to a base class is
to be treated as a pointer to a derived class.
51. If a round rectangle has straight edges and rounded corners, your RoundRectclass
inherits both from Rectangle and from Circle, and they in turn both inheritfrom
Shape, how many Shapes are created when you create a RoundRect?
If neither class inherits using the keyword virtual, two Shapes are created: one
forRectangle and one for Shape. If the keyword virtual is used for both classes, only one
shared Shape is created.
52. If Horse and Bird inherit virtual public from Animal, do their constructors initialize
the Animal constructor? If Pegasus inherits from both Horse and Bird, how does it
initialize Animal’s constructor?
Both Horse and Bird initialize their base class, Animal, in their constructors. Pegasus
does as well, and when a Pegasus is created, the Horse and Bird initializations of Animal
are ignored.
53. Declare a class Vehicle and make it an abstract data type.
class Vehicle
{virtual void Move() = 0;
}
54. If a base class is an ADT, and it has three pure virtual functions, how many of these
functions must be overridden in its derived classes?
None must be overridden unless you want to make the class non-abstract, in which case
all three must be overridden.
55. Can static member variables be private?
Yes. They are member variables, and their access can be controlled like any other.
If they are private, they can be accessed only by using member functions or, more
commonly, static member functions.
56. Show the declaration for a static member variable.
static int itsStatic;
57. Showthe declaration for a static function pointer.
static int SomeFunction();
58. Show the declaration for a pointer to function returning long and taking aninteger
parameter.
long (* function)(int);
59. What is a friend function?
A friend function is a function declared to have access to the protected and private
members of your class.
60. What is a friend class?
A friend class is a class declared so that all its member functions are friend functions of
your class.
61. If Dog is a friend of Boy, and Terrier derives from Dog, is Terrier a friend of Boy?
No, friendship is not inherited.
62. Where must the declaration of a friend function appear?
Anywhere within the class declaration. It makes no difference whether you put the
declaration within the public:, protected:, or private: access areas.
63. What is the insertion operator and what does it do?

OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT

Page 5 of 12
ACEDAMIN YEAR 2013-14

ALL THE BEST!

The insertion operator (<<) is a member operator of the ostream object and is used for
writing to the output device.
64. What is the extraction operator and what doesit do?
The extraction operator (>>) is a member operator of the istream object andis used for
writing to your program’s variables.
65. What is the difference between cin.read() and cin.getline()?
cin.read() is used for reading binary data structures.
getline() is used to read from the istream’s buffer.
66. What is the default width for ouputting a long integer using the insertion operator?
Wide enough to display the entire number.
67. What is the return value of the insertion operator?
A reference to an istream object.
68. What parameter does the constructor to an ofstream object take?
The filename to be opened.
69. What is the difference between object-oriented programming and procedural
programming?
Procedural programming focuses on functions separate from data. Object oriented
programming ties data and functionality together into objects, and focuses on
theinteraction among the objects.
70. What is the difference between a template and a macro?
Templates are built into the C++ language and are type-safe. Macros are implemented by
the preprocessor and are not type-safe.
71. What is the difference between the parameter to a template and the parameter to a
function?
The parameter to the template creates an instance of the template for each type. If you
create six template instances, six different classes or functions are created. The
parameters to the function change the behavior or data of the function, but only one
function is created.
72. What is the difference between a type-specific template friend class and a general
template friend class?
The general template friend function creates one function for every type of the
parameterized class; the type-specific function creates a type-specific instance for each
instance of the parameterized class.
73. Is it possible to provide special behavior for one instance of a template but not for
other instances?
Yes, create a specialized function for the particular instance. In addition to
creatingArray::SomeFunction(), also create Array::SomeFunction() to change the
behavior for integer arrays.
74. What is an exception?
An exception is an object that is created as a result of invoking the keyword throw.
It is used to signal an exceptional condition, and is passed up the call stack to the first
catch statement that handles its type.
75. What is a try block?
A try block is a set of statements that might generate an exception.
76. What is a catch statement?

OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT

Page 6 of 12
ACEDAMIN YEAR 2013-14

ALL THE BEST!

A catch statement has a signature of the type of exception it handles. It follows a try
block and acts as the receiver of exceptions raised within the try block.
77. What information can an exception contain?
An exception is an object and can contain any information that can be defined within a
user-created class.
78. When are exception objects created?
Exception objects are created when you invoke the keyword throw.
79. Should you pass exceptions by value or by reference?
In general,exceptions should be passed by reference. If you don’t intend to modify the
contents of the exception object, you should pass a const reference.
80. Will a catch statement catch a derived exception if it is looking for the base class?
Yes, if you pass the exception by reference.
81. If there are two catch statements, one for base and one for derived, which should
come first?
catch statements are examined in the order they appear in the source code. The first catch
statement whose signature matches the exception is used.
82. What does catch(…) mean?
catch(…) will catch any exception of any type.
83. What is a breakpoint?
A breakpoint is a place in the code where the debugger will stop execution.
84. What is the difference between strcpy() and strncpy()?
strcpy(char* destination, char* source) copies source to destination, and puts a null at the
end of destination. destination must be large enough to accommodate source, or strcpy()
will simply write past the end of the array. strncpy(char*destination char* source, int
howmany) will write howmany bytes of source to destination, but will not put a
terminating null.
85. Pointer type: A Pointer is a variable which holds the address of another variable.
86. Const Qualifier: Const qualifier is used to prevent from accidental changes within a
program.
87. Differences between Structured Programming and OOP
–In St.P emphasis is on What is happening. In OOP emphasis is on Who is being
affected.
Data move openly around the system. In St.P. In OOP the data and functions that operate
on the data are tied together
–In St.P most fns share global data. In OOP data is hidden and cannot be accessedby
external functions.
–In St.P, Large programs are divided to smaller programs known as functions, In OOP
they are divided into objects.
88. New and Delete : (Memory Management Operators)
These are the unary operators to perform dynamic memory allocation and deallocation
New operator is used to create objects. The General Form is:
Pointer-variable = new data-type; The general form of using delete
delete pointer-variable;
For Ex: delete p;
To free dynamically allocated array delete [size] pointer-variable
For Ex: delete [10] p;

OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT

Page 7 of 12
ACEDAMIN YEAR 2013-14

ALL THE BEST!

For Ex: int *p = new int;
89. Inline Functions:An inline function is a function that is expanded in line when it is
invoked
Inline function-header
{function body
}Ex: inline int square(int a)
{return a*a
};
90. Generic Functions
A generic function defines a general set of operations that can be applied to various types
of data.. A generic function is created using the keyword template. The general form of
template function definition is
Template ret-type func-name(parameter list)
{
//function body
}
91. Constructors and Destructors
Constructors:
1. C++ allows automatic initialization of objects when they are created. This is
performed through the use of a constructor function.
2. Constructor is a special function that is a member of the class and has the same name
as that class.
3. The Constructor is automatically called whenever an object of its associated class is
created.
4. A Constructor is declared and defined as follows
Destructors:
1. A destructor as the name implies is a complement of the constructor, used to destroy
objects.
2. It will be invoked implicitly by the compiler upon exit from program or function or
block
3. Local objects are destroyed when the block is left. Global objects are destroyed when
the program terminates.
4. It is a member function whose name is same as the class name but is preceded
by a tilde (~) operator. Ex : ~stack();
5. There are many reasons why a destructor may be needed. Ex: An object may need to
deallocate memory that it had previously allocated, or close a file that it had opened.
6. A destructor never takes any argument nor does it return any value
7. It is a good practice to declare destructors
92. Friend Functions
1. Private members cannot be accessed from outside the class i.e by a non-member
function
2. C++ allows a non-member function to access private members of a class by using a
friend function.
3. A friend function need not be a member of any class.
4. To make an outside function friendly to a class, include its prototype within the class,
preceding it with the keyword friend.

OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT

Page 8 of 12
ACEDAMIN YEAR 2013-14

ALL THE BEST!

93. Static Data Members(SDM)
1. Preceding a data member’s declaration with the keyword static tells the compiler that
only one copy of that variable will exist and that all objects of the class will share that
variable.
2. A static data member is initialized to zero when the first object of its class is created.
No other initialization is permitted.
94. This Pointer
When a member function is called, it is automatically passed an implicit argument that is
a pointer to the invoking object. This pointer is called this.
95. Overloading
Overloading is one type of Polymorphism. It allows an object to have different meanings,
depending on its context. When an exiting operator or function begins to operate on new
data type, or class, it is understood to be overloaded.
96. Operator Overloading
The mechanism of giving additional meaning to an operator is known as operator
overloading.
97. INHERITANCE
The mechanism of deriving a new class from an old one is called Inheritance.
The concept of Inheritance provides the idea of reusability. This is basically done by
creating new classes, reusing the properties of the existing ones.
A class that is inherited is referred to as base class, and a class that inherits is called the
derived class.
98. Types of Inheritance
There are five different inheritances supported in C++:
(1) Simple / Single
(2) Multilevel
(3) Hierarchical
(4) Multiple
(5) Hybrid
99. Protected Members
When a member of a class is declared as protected, that member is not accessible by
other nonmember elements of the program
100. A Virtual function: is a member function that is declared within a base class and
redefined by a derived class.To create a virtual function, precede the function’s
declaration in the base class with the keyword Virtual.
101. I/O Operations: C++ uses the concept of stream and stream classes to implement the
I/O Operations. A stream acts as an interface between the program and I/O device.
102. What is Abstraction?
The process of picking out (abstracting) common features of objects and procedures. A
programmer would use abstraction. Abstraction is one of the most important techniques
in software engineering and it is closely related to two other techniques- encapsulation
and information hiding. All these three techniques are used to reduce complexity.
103. Reusability:

OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT

Page 9 of 12
ACEDAMIN YEAR 2013-14

ALL THE BEST!

This term refers to the ability for multiple programmers to use the same written and
debugged existing class of data. This is a time saving device and adds code efficiency to
the language. Additionally, the programmer can incorporate new features to the existing
class
104. Variables
A variable is the storage location in memory that is stored by its value. A variable is
identified or denoted by a variable name. The variable name is a sequence of one or more
letters, digits or underscore, for example: character
105. Data Types
Below is a list of the most commonly used Data Types in C++ programming language:
short int
int
long int
float
double
long double
char
bool
106. What is a function?
A function is a structure that has a number of program statements grouped as a unit with
a name given to the unit. Function can be invoked from any part of the C++ program.
107. What is an argument?
An argument is the value that is passed from the program to the function call. This can
also be considered as input to the function from the program from which it is called.
108. What is Type Conversion
It is the process of converting one type into another. In other words converting an
expression of a given type into another is called type casting.
109. Copy constructor:
This constructor takes one argument. Also called one argument constructor. The main use
of copy constructor is to initialize the objects while in creation, also used to copy an
object. The copy constructor allows the programmer to create a new object from an
existing one by initialization.
110. Typecasting
Typecasting is the concept of converting the value of one type into another type. For
example, you might have a float that you need to use in a function that requires an
integer.
111. What is a Stream?
A stream is an object where a program can either insert or extract characters to or from it.
The standard input and output stream objects of C++ are declared in the header file
iostream.
112. Namespaces
Namespaces are used in the C++ programming language to create a separate region for a
group of variables, functions and classes etc. Namespaces are needed because there can
be many functions, variables for classes in one program and they can conflict with the
existing names of variables, functions and classes. C++ uses namespace to avoid the
conflicts.
OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT

Page 10 of 12
ACEDAMIN YEAR 2013-14

ALL THE BEST!

113. C++ Template functions - Applicability:
C++ function templates can be used wherever the same functionality has to be performed
with a number of data types.
If a set of functions or classes have the same functionality for different data types, they
becomes good candidates for being written as Templates.
114. Java is a "platformindependent language." What does this mean?
Answer: A Java program can be compiled once into a Java Bytecode program.The
compiled program can then be run on any computer that has an interpreter for the Java
virtual machine.Other languages have to be recompiled for each platform on which they
are going to run.The point about Java is that it can be executed on many different types of
computers without being recompiled.
115. What is an applet?
Answer: Applet is a program which can get downloaded into a client environment and
start executing there.
116. What is a thread?
Answer: Thread is a block of code which can execute concurrently with other threads in
the JVM.
117. What is the difference between interface and abstract class?
Answer: Abstract class defined with methods.Interface will declare only the
methods.Abstract classes are very much useful when there is some functionality across
various classes.Interfaces are well suited for the class, which varies in functionality but
with the same method signatures.
118. JVM
A Java virtual machine (JVM) is a virtual machine that can execute Java bytecode.
The JVM is used primarily for 2 things: the first is to translate the bytecode into the
machine language for a particular computer, and the second thing is to actually execute
the corresponding machine-language instructions as well.
119. Why java is called platform independent language ?
Once the java code also known as source code is compiled, it gets converted to native
code known as BYTE CODE which is portable & can be easily executed on all operating
systems.
Hence java is called platform independent language
120. Java package
A package is a grouping of related types providing access protection and name space
management. Note that types refers to classes, interfaces, enumerations, and annotation
types.
121. Java interface
An interface is a collection of abstract methods. A class implements an interface,
thereby inheriting the abstract methods of the interface. A class implements an interface
by providing code for each method declared by the interface.
122. Standard Template Library (STL)
The C++ STL (Standard Template Library) is a powerful set of C++ template classes to
provides general-purpose templatized classes and functions that implement many popular
and commonly used algorithms and data structures like vectors, lists, queues, and stacks.
Standard Template Library are following three well-structured components:

OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT

Page 11 of 12
ACEDAMIN YEAR 2013-14

ALL THE BEST!

Containers: Containers are used to manage collections of objects of a certain kind. There
are several different types of containers like deque, list, vector, map etc.
Algorithms: Algorithms act on containers. They provide the means by which you will
perform initialization, sorting, searching, and transforming of the contents of containers.
Iterators: Iterators are used to step through the elements of collections of objects. These
collections may be containers or subsets of containers.
122. Run Time Polymorphism
The appropriate member function could be selected while the program is running.
This is known as run time polymorphism. C++ supports a mechanism known as virtual
function to achieve runtime polymorphism.
123. Function templates
Function templates are special functions that can operate with generic types. This
allows us to create a function template whose functionality can be adapted to more than
one type or class without repeating the entire code for each type.3
template <class a_type> class a_class {...};
124. Java.Io
java.io.InputStream - stores information about the connection between an input device
and the computer or program.
java.util.Scanner - used to read the input available from an InputStream object.
125. Process
A process is a program in execution. A process may be divided into a number of
independent units known as threads.
A process is a collection of one or more threads and associated system resources.
126. Thread
A thread is a dispatchable unit of work. Threads are light-weight processes within a
process .
127. Multithread
A multithreaded program contains two or more parts that can run concurrently. Each part
of such a program is called a thread, and each thread defines a separate path of execution.
Stages of thread are explained here:
 New: A new thread begins its life cycle in the new state. It remains in this state until the
program starts the thread. It is also referred to as a born thread.
 Runnable: After a newly born thread is started, the thread becomes runnable. A thread in
this state is considered to be executing its task.
 Waiting: Sometimes, a thread transitions to the waiting state while the thread waits for
another thread to perform a task.A thread transitions back to the runnable state only when
another thread signals the waiting thread to continue executing.
 Timed waiting: A runnable thread can enter the timed waiting state for a specified
interval of time. A thread in this state transitions back to the runnable state when that
time interval expires or when the event it is waiting for occurs.
 Terminated: A runnable thread enters the terminated state when it completes its task or
otherwise terminates.

OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT

Page 12 of 12

More Related Content

What's hot

Verifying and Validating Requirements
Verifying and Validating RequirementsVerifying and Validating Requirements
Verifying and Validating RequirementsRavikanth-BA
 
Best Practices of Software Development
Best Practices of Software DevelopmentBest Practices of Software Development
Best Practices of Software DevelopmentFolio3 Software
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in javaTech_MX
 
Elements of Java Language
Elements of Java Language Elements of Java Language
Elements of Java Language Hitesh-Java
 
Constructor and desturctor
Constructor and desturctorConstructor and desturctor
Constructor and desturctorSomnath Kulkarni
 
ideathon - Ideas That Give - Social Open Innovation with a Twist
ideathon - Ideas That Give - Social Open Innovation with a Twistideathon - Ideas That Give - Social Open Innovation with a Twist
ideathon - Ideas That Give - Social Open Innovation with a TwistBrendan O'Keefe
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software ArchitectureRahimLotfi
 
Airline reservation system documentation
Airline reservation system documentationAirline reservation system documentation
Airline reservation system documentationSurya Indira
 
6 Weeks Summer Training on Java By SSDN Technologies
6 Weeks Summer Training on Java By SSDN Technologies6 Weeks Summer Training on Java By SSDN Technologies
6 Weeks Summer Training on Java By SSDN TechnologiesDavid Son
 
S.O.L.I.D. Principles for Software Architects
S.O.L.I.D. Principles for Software ArchitectsS.O.L.I.D. Principles for Software Architects
S.O.L.I.D. Principles for Software ArchitectsRicardo Wilkins
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)sanoop s
 

What's hot (20)

Verifying and Validating Requirements
Verifying and Validating RequirementsVerifying and Validating Requirements
Verifying and Validating Requirements
 
Best Practices of Software Development
Best Practices of Software DevelopmentBest Practices of Software Development
Best Practices of Software Development
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
 
Elements of Java Language
Elements of Java Language Elements of Java Language
Elements of Java Language
 
Ppt of c++ vs c#
Ppt of c++ vs c#Ppt of c++ vs c#
Ppt of c++ vs c#
 
Java basic
Java basicJava basic
Java basic
 
Four Pillers Of OOPS
Four Pillers Of OOPSFour Pillers Of OOPS
Four Pillers Of OOPS
 
Swt vs swing
Swt vs swingSwt vs swing
Swt vs swing
 
Constructor and desturctor
Constructor and desturctorConstructor and desturctor
Constructor and desturctor
 
ideathon - Ideas That Give - Social Open Innovation with a Twist
ideathon - Ideas That Give - Social Open Innovation with a Twistideathon - Ideas That Give - Social Open Innovation with a Twist
ideathon - Ideas That Give - Social Open Innovation with a Twist
 
Abstraction
AbstractionAbstraction
Abstraction
 
Oop Presentation
Oop PresentationOop Presentation
Oop Presentation
 
CS3391 -OOP -UNIT – III NOTES FINAL.pdf
CS3391 -OOP -UNIT – III  NOTES FINAL.pdfCS3391 -OOP -UNIT – III  NOTES FINAL.pdf
CS3391 -OOP -UNIT – III NOTES FINAL.pdf
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software Architecture
 
Airline reservation system documentation
Airline reservation system documentationAirline reservation system documentation
Airline reservation system documentation
 
6 Weeks Summer Training on Java By SSDN Technologies
6 Weeks Summer Training on Java By SSDN Technologies6 Weeks Summer Training on Java By SSDN Technologies
6 Weeks Summer Training on Java By SSDN Technologies
 
S.O.L.I.D. Principles for Software Architects
S.O.L.I.D. Principles for Software ArchitectsS.O.L.I.D. Principles for Software Architects
S.O.L.I.D. Principles for Software Architects
 
Java buzzwords.pptx
Java buzzwords.pptxJava buzzwords.pptx
Java buzzwords.pptx
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)
 
Interface in java
Interface in javaInterface in java
Interface in java
 

Similar to EEE oops Vth semester viva questions with answer

Core java interview faq
Core java interview faqCore java interview faq
Core java interview faqKumaran K
 
Data Structure Interview Questions & Answers
Data Structure Interview Questions & AnswersData Structure Interview Questions & Answers
Data Structure Interview Questions & AnswersSatyam Jaiswal
 
OOP interview questions & answers.
OOP interview questions & answers.OOP interview questions & answers.
OOP interview questions & answers.Questpond
 
Java interview questions and answers
Java interview questions and answersJava interview questions and answers
Java interview questions and answersMadhavendra Dutt
 
software engineer interview questions.pdf
software engineer interview questions.pdfsoftware engineer interview questions.pdf
software engineer interview questions.pdfRaajpootQueen
 
Java interview faq's
Java interview faq'sJava interview faq's
Java interview faq'sDeepak Raj
 
Tcs NQTExam technical questions
Tcs NQTExam technical questionsTcs NQTExam technical questions
Tcs NQTExam technical questionsAniketBhandare2
 
Technical_Interview_Questions.pdf
Technical_Interview_Questions.pdfTechnical_Interview_Questions.pdf
Technical_Interview_Questions.pdfadityashukla939020
 
Selenium Training .pptx
Selenium Training .pptxSelenium Training .pptx
Selenium Training .pptxSajidTk2
 
Java J2EE Interview Questions Part-1
Java J2EE Interview Questions Part-1Java J2EE Interview Questions Part-1
Java J2EE Interview Questions Part-1javatrainingonline
 

Similar to EEE oops Vth semester viva questions with answer (20)

Core java interview faq
Core java interview faqCore java interview faq
Core java interview faq
 
Intervies
InterviesIntervies
Intervies
 
Java interview questions
Java interview questionsJava interview questions
Java interview questions
 
Data Structure Interview Questions & Answers
Data Structure Interview Questions & AnswersData Structure Interview Questions & Answers
Data Structure Interview Questions & Answers
 
OOP interview questions & answers.
OOP interview questions & answers.OOP interview questions & answers.
OOP interview questions & answers.
 
Java interview questions and answers
Java interview questions and answersJava interview questions and answers
Java interview questions and answers
 
Faqs in java
Faqs in javaFaqs in java
Faqs in java
 
C++ interview question
C++ interview questionC++ interview question
C++ interview question
 
software engineer interview questions.pdf
software engineer interview questions.pdfsoftware engineer interview questions.pdf
software engineer interview questions.pdf
 
Java interview faq's
Java interview faq'sJava interview faq's
Java interview faq's
 
Tcs NQTExam technical questions
Tcs NQTExam technical questionsTcs NQTExam technical questions
Tcs NQTExam technical questions
 
Technical_Interview_Questions.pdf
Technical_Interview_Questions.pdfTechnical_Interview_Questions.pdf
Technical_Interview_Questions.pdf
 
Core java questions
Core java questionsCore java questions
Core java questions
 
Core java questions
Core java questionsCore java questions
Core java questions
 
Selenium Training .pptx
Selenium Training .pptxSelenium Training .pptx
Selenium Training .pptx
 
My c++
My c++My c++
My c++
 
Java J2EE Interview Questions Part-1
Java J2EE Interview Questions Part-1Java J2EE Interview Questions Part-1
Java J2EE Interview Questions Part-1
 
Java J2EE Interview Questions Part-1
Java J2EE Interview Questions Part-1Java J2EE Interview Questions Part-1
Java J2EE Interview Questions Part-1
 
Question bank unit i
Question bank unit iQuestion bank unit i
Question bank unit i
 
OOPS_Unit_1
OOPS_Unit_1OOPS_Unit_1
OOPS_Unit_1
 

Recently uploaded

Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfChris Hunter
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIShubhangi Sonawane
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 

Recently uploaded (20)

Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 

EEE oops Vth semester viva questions with answer

  • 1. ACEDAMIN YEAR 2013-14 ALL THE BEST! EEE OOPS LAB VIVA Questions 1. Object Object is the basic unit of object-oriented programming. Objects are identified by its unique name. An object represents a particular instance of a class. There can be more than one instance of an object. Each instance of an object can hold its own relevant data. 2. What are classes? A class is a collection of objects of similar type. Once a class is defined any number of objects can be created of that class. Examples of classes are class of cars, class of pens, class of birds etc. 3. What are Instances? Instances are essentially objects derived out of classes. When an object is created for a particular class the process is called Instantiation. In general, life time of object is nothing but the time between an object creation, till the object is no longer used and is destructed or freed. 4. What is OOPs? Ans: Object oriented programming organizes a program around its data,i.e.,objects and a set of well defined interfaces to that data.An object-oriented program can be characterized as data controlling access to code. 5. What is encapsulation? Data Encapsulation combines data and functions into a single unit called Class. When using Data Encapsulation, data is not accessed directly; it is only accessible through the functions present inside the class. Data Encapsulation enables the important concept of data hiding possible. 6. What is the difference between Assignment and Initialization? Ans: Assignment can be done as many times as desired whereas initialization can be done only once in the begining. 7. What is the difference between Procedural and OOPs? Ans: a) In procedural program, programming logic follows certain procedures and the instructions are executed one after another. In OOPs program, unit of program is object, which is nothing but combination of data and code. b) In procedural program,data is exposed to the whole program whereas in OOPs program,it is accessible with in the object and which in turn assures the security of the code. 8. What are Encapsulation? Ans: Encapsulation is the mechanism that binds together code and data it manipulates and keeps both safe from outside interference and misuse. Inheritance is the process by which one object acquires the properties of another object. 9. What Primitive data types? Ans: Primitive data types are also called as basic data types and are of 8 types and they are: byte, short, int, long,float, double,boolean,char 10. What is the use of new operator? Ans: When an object is created using new operator, memory is allocated to it. 11. What are methods and how are they defined? Ans: Methods are functions that operate on instances of classes in which they are defined. Objects can communicate with each other using methods and can call methods in other classes. OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT Page 1 of 12
  • 2. ACEDAMIN YEAR 2013-14 ALL THE BEST! Method definition has four parts. They are name of the method, type of object or primitive type the method returns, a list of parameters and the body of the method. A method's signature is a combination of the first three parts mentioned above. 12. How many ways can an argument be passed to a subroutine and explain them? Ans: An argument can be passed in two ways. They are passing by value and passing by reference. Passing by value: This method copies the value of an argument into the formal parameter of the subroutine. Passing by reference: In this method, a reference to an argument (not the value of the argument) is passed to the parameter. 13. What are different types of access modifiers? Ans: public: Any thing declared as public can be accessed from anywhere. private: Any thing declared as private can't be seen outside of its class. protected: Any thing declared as protected can be accessed by classes in the same package and subclasses in the other packages. default modifier : Can be accessed only to classes in the same package. 14. What is method overloading and method overriding? Ans: Method overloading: When methods in a class having the same method name with different arguments is said to be method overloading. Method overriding : When methods in a class having the same method name with same arguments is said to be method overriding. 15. What is difference between overloading and overriding? Ans: a) In overloading, there is a relationship between methods available in the same class whereas in overriding, there is relationship between a superclass method and subclass method. b) Overloading does not block inheritance from the superclass whereas overriding blocks inheritance from the superclass. c) In overloading, separate methods share the same name whereas in overriding,subclass method replaces the superclass. d) Overloading must have different method signatures whereas overriding must have same signature. 16. What is the difference between interpreters and compilers? Interpreters read through source code and translate a program, turning the programmer’s code, or program instructions, directly into actions. Compilers translate source code into an executable program that can be run at a later time. 17. How do you compile the source code with your compiler? Every compiler is different. Be sure to check the documentation that came with your compiler. 18. What is the difference between the compiler and the preprocessor? Each time you run your compiler, the preprocessor runs first. It reads through your source code and includes the files you’ve asked for, and performs other housekeeping chores. The preprocessor is discussed in detail on Day 18, “Object-Oriented Analysis and Design.” 19. Why is the function main() special? main() is called automatically, each time your program is executed. 20. What are the two types of comments, and how do they differ? OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT Page 2 of 12
  • 3. ACEDAMIN YEAR 2013-14 ALL THE BEST! C++ – style comments are two slashes (//), and they comment out any text until the end of the line. C – style comments come in pairs (/* */), and everything between the matching pairs is commented out. You must be careful to ensure you have matched pairs. 21. Can comments be nested? Yes, C++ – style comments can be nested within C -style comments. You can, infact,nest C- style comments within C++- style comments, as long as you remember that the C++ – style comments end at the end of the line. 22. Can comments be longer than one line? C- style comments can. If you want to extend C++ – style comments to a second line, you must put another set of double slashes (//). 23. What are the differences between the function prototype and the function definition? The function prototype declares the function; the definition defines it. The prototype ends with a semicolon; the definition need not. The declaration can include the keyword inline and default values for the parameters; the definition cannot. The declaration need not include names for the parameters; the definition must. 24. If a function doesn’t return a value, how do you declare the function? Declare the function to return void. 25. If you don’t declare a return value, what type of return value is assumed? Any function that does not explicitly declare a return type returns int. 26. What is a local variable? A local variable is a variable passed into or declared within a block, typically a function. It is visible only within the block. 27. What is scope? Scope refers to the visibility and lifetime of local and global variables. Scope is usually established by a set of braces. 28. What is recursion? Recursion generally refers to the ability of a function to call itself. 29. When should you use global variables? Global variables are typically used when many functions need access to the same data. Global variables are very rare in C++; once you know how to create static class variables, you will almost never create global variables. 30. What is function overloading? Function overloading is the ability to write more than one function with the same name, distinguished by the number or type of the parameters. 31. What is polymorphism? Polymorphism allows routines to use variables of different types at different times. An operator or function can be given different meanings or functions. Polymorphism refers to a single function or multi-functioning operator performing in different ways. 32. Is the declaration of a class its interface or its implementation? The declaration of a class is its interface; it tells clients of the class how to interact with the class. The implementation of the class is the set of member functions stored usually in a related CPP file. 33. What is the difference between public and private data members? Public data members can be accessed by clients of the class. Private data members can be accessed only by member functions of the class. OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT Page 3 of 12
  • 4. am jeb s ose ACEDAMIN YEAR 2013-14 ALL THE BEST! 34. Can member functions be private? Yes. Both member functions and member data can be private. 35. Can member data be public? Although member data can be public, it is good programming practice to make it private and to provide public accessor functions to the data. 36. Do class declarations end with a semicolon? Do class method definitions? Declarations end with a semicolon after the closing brace; function definitions do not. 37. What is the difference between the indirection operator and the address of operator? The indirection operator returns the value at the address stored in a pointer. The address of operator (&) returns the memory address of the variable. 38. What is the difference between a reference and a pointer? A reference is an alias, and a pointer is a variable that holds an address. References cannot be null and cannot be assigned to. 39. When you overload member functions, in what ways must they differ? Overloaded member functions are functions in a class that share a name but differ in the number or type of their parameters. 40. What is the difference between a declaration and a definition? A definition sets aside memory, but a declaration does not. Almost all declarations are definitions; the major exceptions are class declarations, function prototypes, and typedef statements. 41. When is the copy constructor called? Whenever a temporary copy of an object is created. This happens every time an object is passed by value. 42. When is the destructor called? The destructor is called each time an object is destroyed, either because it goes out of scope or because you call delete on a pointer pointing to it. 43. How does the copy constructor differ from the assignment operator (=)? The assignment operator acts on an existing object; the copy constructor creates a new one. 44. What is the ‘this’ pointer? The this pointer is a hidden parameter in every member function that points to the object itself. 45. How do you differentiate between overloading the prefix and postfix increments? The prefix operator takes no parameters. The postfix operator takes a single int parameter, which is used as a signal to the compiler that this is the postfix variant. 46. Can you overload the operator+ for short integers? No, you cannot overload any operator for built-in types. 47. Is it legal in C++ to overload operator++ so that it decrements a value in your class? It is legal, but it is a bad idea. Operators should be overloaded in a way that is likely to be readily understood by anyone reading your code. 48. What return value must conversion operators have in their declaration? None. Like constructors and destructors, they have no return values. 49. What is the protected keyword used for? protected members are accessible to the member functions of derived objects. 50. What is a down cast? OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT Page 4 of 12
  • 5. ACEDAMIN YEAR 2013-14 ALL THE BEST! A down cast (also called “casting down”) is a declaration that a pointer to a base class is to be treated as a pointer to a derived class. 51. If a round rectangle has straight edges and rounded corners, your RoundRectclass inherits both from Rectangle and from Circle, and they in turn both inheritfrom Shape, how many Shapes are created when you create a RoundRect? If neither class inherits using the keyword virtual, two Shapes are created: one forRectangle and one for Shape. If the keyword virtual is used for both classes, only one shared Shape is created. 52. If Horse and Bird inherit virtual public from Animal, do their constructors initialize the Animal constructor? If Pegasus inherits from both Horse and Bird, how does it initialize Animal’s constructor? Both Horse and Bird initialize their base class, Animal, in their constructors. Pegasus does as well, and when a Pegasus is created, the Horse and Bird initializations of Animal are ignored. 53. Declare a class Vehicle and make it an abstract data type. class Vehicle {virtual void Move() = 0; } 54. If a base class is an ADT, and it has three pure virtual functions, how many of these functions must be overridden in its derived classes? None must be overridden unless you want to make the class non-abstract, in which case all three must be overridden. 55. Can static member variables be private? Yes. They are member variables, and their access can be controlled like any other. If they are private, they can be accessed only by using member functions or, more commonly, static member functions. 56. Show the declaration for a static member variable. static int itsStatic; 57. Showthe declaration for a static function pointer. static int SomeFunction(); 58. Show the declaration for a pointer to function returning long and taking aninteger parameter. long (* function)(int); 59. What is a friend function? A friend function is a function declared to have access to the protected and private members of your class. 60. What is a friend class? A friend class is a class declared so that all its member functions are friend functions of your class. 61. If Dog is a friend of Boy, and Terrier derives from Dog, is Terrier a friend of Boy? No, friendship is not inherited. 62. Where must the declaration of a friend function appear? Anywhere within the class declaration. It makes no difference whether you put the declaration within the public:, protected:, or private: access areas. 63. What is the insertion operator and what does it do? OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT Page 5 of 12
  • 6. ACEDAMIN YEAR 2013-14 ALL THE BEST! The insertion operator (<<) is a member operator of the ostream object and is used for writing to the output device. 64. What is the extraction operator and what doesit do? The extraction operator (>>) is a member operator of the istream object andis used for writing to your program’s variables. 65. What is the difference between cin.read() and cin.getline()? cin.read() is used for reading binary data structures. getline() is used to read from the istream’s buffer. 66. What is the default width for ouputting a long integer using the insertion operator? Wide enough to display the entire number. 67. What is the return value of the insertion operator? A reference to an istream object. 68. What parameter does the constructor to an ofstream object take? The filename to be opened. 69. What is the difference between object-oriented programming and procedural programming? Procedural programming focuses on functions separate from data. Object oriented programming ties data and functionality together into objects, and focuses on theinteraction among the objects. 70. What is the difference between a template and a macro? Templates are built into the C++ language and are type-safe. Macros are implemented by the preprocessor and are not type-safe. 71. What is the difference between the parameter to a template and the parameter to a function? The parameter to the template creates an instance of the template for each type. If you create six template instances, six different classes or functions are created. The parameters to the function change the behavior or data of the function, but only one function is created. 72. What is the difference between a type-specific template friend class and a general template friend class? The general template friend function creates one function for every type of the parameterized class; the type-specific function creates a type-specific instance for each instance of the parameterized class. 73. Is it possible to provide special behavior for one instance of a template but not for other instances? Yes, create a specialized function for the particular instance. In addition to creatingArray::SomeFunction(), also create Array::SomeFunction() to change the behavior for integer arrays. 74. What is an exception? An exception is an object that is created as a result of invoking the keyword throw. It is used to signal an exceptional condition, and is passed up the call stack to the first catch statement that handles its type. 75. What is a try block? A try block is a set of statements that might generate an exception. 76. What is a catch statement? OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT Page 6 of 12
  • 7. ACEDAMIN YEAR 2013-14 ALL THE BEST! A catch statement has a signature of the type of exception it handles. It follows a try block and acts as the receiver of exceptions raised within the try block. 77. What information can an exception contain? An exception is an object and can contain any information that can be defined within a user-created class. 78. When are exception objects created? Exception objects are created when you invoke the keyword throw. 79. Should you pass exceptions by value or by reference? In general,exceptions should be passed by reference. If you don’t intend to modify the contents of the exception object, you should pass a const reference. 80. Will a catch statement catch a derived exception if it is looking for the base class? Yes, if you pass the exception by reference. 81. If there are two catch statements, one for base and one for derived, which should come first? catch statements are examined in the order they appear in the source code. The first catch statement whose signature matches the exception is used. 82. What does catch(…) mean? catch(…) will catch any exception of any type. 83. What is a breakpoint? A breakpoint is a place in the code where the debugger will stop execution. 84. What is the difference between strcpy() and strncpy()? strcpy(char* destination, char* source) copies source to destination, and puts a null at the end of destination. destination must be large enough to accommodate source, or strcpy() will simply write past the end of the array. strncpy(char*destination char* source, int howmany) will write howmany bytes of source to destination, but will not put a terminating null. 85. Pointer type: A Pointer is a variable which holds the address of another variable. 86. Const Qualifier: Const qualifier is used to prevent from accidental changes within a program. 87. Differences between Structured Programming and OOP –In St.P emphasis is on What is happening. In OOP emphasis is on Who is being affected. Data move openly around the system. In St.P. In OOP the data and functions that operate on the data are tied together –In St.P most fns share global data. In OOP data is hidden and cannot be accessedby external functions. –In St.P, Large programs are divided to smaller programs known as functions, In OOP they are divided into objects. 88. New and Delete : (Memory Management Operators) These are the unary operators to perform dynamic memory allocation and deallocation New operator is used to create objects. The General Form is: Pointer-variable = new data-type; The general form of using delete delete pointer-variable; For Ex: delete p; To free dynamically allocated array delete [size] pointer-variable For Ex: delete [10] p; OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT Page 7 of 12
  • 8. ACEDAMIN YEAR 2013-14 ALL THE BEST! For Ex: int *p = new int; 89. Inline Functions:An inline function is a function that is expanded in line when it is invoked Inline function-header {function body }Ex: inline int square(int a) {return a*a }; 90. Generic Functions A generic function defines a general set of operations that can be applied to various types of data.. A generic function is created using the keyword template. The general form of template function definition is Template ret-type func-name(parameter list) { //function body } 91. Constructors and Destructors Constructors: 1. C++ allows automatic initialization of objects when they are created. This is performed through the use of a constructor function. 2. Constructor is a special function that is a member of the class and has the same name as that class. 3. The Constructor is automatically called whenever an object of its associated class is created. 4. A Constructor is declared and defined as follows Destructors: 1. A destructor as the name implies is a complement of the constructor, used to destroy objects. 2. It will be invoked implicitly by the compiler upon exit from program or function or block 3. Local objects are destroyed when the block is left. Global objects are destroyed when the program terminates. 4. It is a member function whose name is same as the class name but is preceded by a tilde (~) operator. Ex : ~stack(); 5. There are many reasons why a destructor may be needed. Ex: An object may need to deallocate memory that it had previously allocated, or close a file that it had opened. 6. A destructor never takes any argument nor does it return any value 7. It is a good practice to declare destructors 92. Friend Functions 1. Private members cannot be accessed from outside the class i.e by a non-member function 2. C++ allows a non-member function to access private members of a class by using a friend function. 3. A friend function need not be a member of any class. 4. To make an outside function friendly to a class, include its prototype within the class, preceding it with the keyword friend. OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT Page 8 of 12
  • 9. ACEDAMIN YEAR 2013-14 ALL THE BEST! 93. Static Data Members(SDM) 1. Preceding a data member’s declaration with the keyword static tells the compiler that only one copy of that variable will exist and that all objects of the class will share that variable. 2. A static data member is initialized to zero when the first object of its class is created. No other initialization is permitted. 94. This Pointer When a member function is called, it is automatically passed an implicit argument that is a pointer to the invoking object. This pointer is called this. 95. Overloading Overloading is one type of Polymorphism. It allows an object to have different meanings, depending on its context. When an exiting operator or function begins to operate on new data type, or class, it is understood to be overloaded. 96. Operator Overloading The mechanism of giving additional meaning to an operator is known as operator overloading. 97. INHERITANCE The mechanism of deriving a new class from an old one is called Inheritance. The concept of Inheritance provides the idea of reusability. This is basically done by creating new classes, reusing the properties of the existing ones. A class that is inherited is referred to as base class, and a class that inherits is called the derived class. 98. Types of Inheritance There are five different inheritances supported in C++: (1) Simple / Single (2) Multilevel (3) Hierarchical (4) Multiple (5) Hybrid 99. Protected Members When a member of a class is declared as protected, that member is not accessible by other nonmember elements of the program 100. A Virtual function: is a member function that is declared within a base class and redefined by a derived class.To create a virtual function, precede the function’s declaration in the base class with the keyword Virtual. 101. I/O Operations: C++ uses the concept of stream and stream classes to implement the I/O Operations. A stream acts as an interface between the program and I/O device. 102. What is Abstraction? The process of picking out (abstracting) common features of objects and procedures. A programmer would use abstraction. Abstraction is one of the most important techniques in software engineering and it is closely related to two other techniques- encapsulation and information hiding. All these three techniques are used to reduce complexity. 103. Reusability: OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT Page 9 of 12
  • 10. ACEDAMIN YEAR 2013-14 ALL THE BEST! This term refers to the ability for multiple programmers to use the same written and debugged existing class of data. This is a time saving device and adds code efficiency to the language. Additionally, the programmer can incorporate new features to the existing class 104. Variables A variable is the storage location in memory that is stored by its value. A variable is identified or denoted by a variable name. The variable name is a sequence of one or more letters, digits or underscore, for example: character 105. Data Types Below is a list of the most commonly used Data Types in C++ programming language: short int int long int float double long double char bool 106. What is a function? A function is a structure that has a number of program statements grouped as a unit with a name given to the unit. Function can be invoked from any part of the C++ program. 107. What is an argument? An argument is the value that is passed from the program to the function call. This can also be considered as input to the function from the program from which it is called. 108. What is Type Conversion It is the process of converting one type into another. In other words converting an expression of a given type into another is called type casting. 109. Copy constructor: This constructor takes one argument. Also called one argument constructor. The main use of copy constructor is to initialize the objects while in creation, also used to copy an object. The copy constructor allows the programmer to create a new object from an existing one by initialization. 110. Typecasting Typecasting is the concept of converting the value of one type into another type. For example, you might have a float that you need to use in a function that requires an integer. 111. What is a Stream? A stream is an object where a program can either insert or extract characters to or from it. The standard input and output stream objects of C++ are declared in the header file iostream. 112. Namespaces Namespaces are used in the C++ programming language to create a separate region for a group of variables, functions and classes etc. Namespaces are needed because there can be many functions, variables for classes in one program and they can conflict with the existing names of variables, functions and classes. C++ uses namespace to avoid the conflicts. OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT Page 10 of 12
  • 11. ACEDAMIN YEAR 2013-14 ALL THE BEST! 113. C++ Template functions - Applicability: C++ function templates can be used wherever the same functionality has to be performed with a number of data types. If a set of functions or classes have the same functionality for different data types, they becomes good candidates for being written as Templates. 114. Java is a "platformindependent language." What does this mean? Answer: A Java program can be compiled once into a Java Bytecode program.The compiled program can then be run on any computer that has an interpreter for the Java virtual machine.Other languages have to be recompiled for each platform on which they are going to run.The point about Java is that it can be executed on many different types of computers without being recompiled. 115. What is an applet? Answer: Applet is a program which can get downloaded into a client environment and start executing there. 116. What is a thread? Answer: Thread is a block of code which can execute concurrently with other threads in the JVM. 117. What is the difference between interface and abstract class? Answer: Abstract class defined with methods.Interface will declare only the methods.Abstract classes are very much useful when there is some functionality across various classes.Interfaces are well suited for the class, which varies in functionality but with the same method signatures. 118. JVM A Java virtual machine (JVM) is a virtual machine that can execute Java bytecode. The JVM is used primarily for 2 things: the first is to translate the bytecode into the machine language for a particular computer, and the second thing is to actually execute the corresponding machine-language instructions as well. 119. Why java is called platform independent language ? Once the java code also known as source code is compiled, it gets converted to native code known as BYTE CODE which is portable & can be easily executed on all operating systems. Hence java is called platform independent language 120. Java package A package is a grouping of related types providing access protection and name space management. Note that types refers to classes, interfaces, enumerations, and annotation types. 121. Java interface An interface is a collection of abstract methods. A class implements an interface, thereby inheriting the abstract methods of the interface. A class implements an interface by providing code for each method declared by the interface. 122. Standard Template Library (STL) The C++ STL (Standard Template Library) is a powerful set of C++ template classes to provides general-purpose templatized classes and functions that implement many popular and commonly used algorithms and data structures like vectors, lists, queues, and stacks. Standard Template Library are following three well-structured components: OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT Page 11 of 12
  • 12. ACEDAMIN YEAR 2013-14 ALL THE BEST! Containers: Containers are used to manage collections of objects of a certain kind. There are several different types of containers like deque, list, vector, map etc. Algorithms: Algorithms act on containers. They provide the means by which you will perform initialization, sorting, searching, and transforming of the contents of containers. Iterators: Iterators are used to step through the elements of collections of objects. These collections may be containers or subsets of containers. 122. Run Time Polymorphism The appropriate member function could be selected while the program is running. This is known as run time polymorphism. C++ supports a mechanism known as virtual function to achieve runtime polymorphism. 123. Function templates Function templates are special functions that can operate with generic types. This allows us to create a function template whose functionality can be adapted to more than one type or class without repeating the entire code for each type.3 template <class a_type> class a_class {...}; 124. Java.Io java.io.InputStream - stores information about the connection between an input device and the computer or program. java.util.Scanner - used to read the input available from an InputStream object. 125. Process A process is a program in execution. A process may be divided into a number of independent units known as threads. A process is a collection of one or more threads and associated system resources. 126. Thread A thread is a dispatchable unit of work. Threads are light-weight processes within a process . 127. Multithread A multithreaded program contains two or more parts that can run concurrently. Each part of such a program is called a thread, and each thread defines a separate path of execution. Stages of thread are explained here:  New: A new thread begins its life cycle in the new state. It remains in this state until the program starts the thread. It is also referred to as a born thread.  Runnable: After a newly born thread is started, the thread becomes runnable. A thread in this state is considered to be executing its task.  Waiting: Sometimes, a thread transitions to the waiting state while the thread waits for another thread to perform a task.A thread transitions back to the runnable state only when another thread signals the waiting thread to continue executing.  Timed waiting: A runnable thread can enter the timed waiting state for a specified interval of time. A thread in this state transitions back to the runnable state when that time interval expires or when the event it is waiting for occurs.  Terminated: A runnable thread enters the terminated state when it completes its task or otherwise terminates. OOPS LAB/EEE III YEAR/ VIVA QB/ JEBAMOSES/AP/IT Page 12 of 12