GOOGLE CONNECT

OOPS INTERVIEW QUESTIONS



1. What is a modifier?
Answer:
A modifier, also called a modifying function is a member function that changes the
value of at least one data member. In other words, an operation that modifies the state of
an object. Modifiers are also known as ‘mutators’.
2. What is an accessor?
Answer:
An accessor is a class operation that does not modify the state of an object. The
accessor functions need to be declared as const operations
3. Differentiate between a template class and class template.
Answer:
Template class:
A generic definition or a parameterized class not instantiated until the client
provides the needed information. It’s jargon for plain templates.
Class template:
A class template specifies how individual classes can be constructed much like
the way a class specifies how individual objects can be constructed. It’s jargon for plain
classes.
4. When does a name clash occur?
Answer:
A name clash occurs when a name is defined in more than one place. For
example., two different class libraries could give two different classes the same name. If
you try to use many class libraries at the same time, there is a fair chance that you will be
unable to compile or link the program because of name clashes.
5. Define namespace.
Answer:
It is a feature in c++ to minimize name collisions in the global name space. This
namespace keyword assigns a distinct name to a library that allows other libraries to use
the same identifier names without creating any name collisions. Furthermore, the
compiler uses the namespace signature for differentiating the definitions.
6. What is the use of ‘using’ declaration.
Answer:
A using declaration makes it possible to use a name from a namespace without the
scope operator.
7. What is an Iterator class?
Answer:
A class that is used to traverse through the objects maintained by a container
class. There are five categories of iterators:
 input iterators,
 output iterators,
86
 forward iterators,
 bidirectional iterators,
 random access.
An iterator is an entity that gives access to the contents of a container object
without violating encapsulation constraints. Access to the contents is granted on a one-ata-
time basis in order. The order can be storage order (as in lists and queues) or some
arbitrary order (as in array indices) or according to some ordering relation (as in an
ordered binary tree). The iterator is a construct, which provides an interface that, when
called, yields either the next element in the container, or some value denoting the fact that
there are no more elements to examine. Iterators hide the details of access to and update
of the elements of a container class.
The simplest and safest iterators are those that permit read-only access to the
contents of a container class. The following code fragment shows how an iterator might
appear in code:
cont_iter:=new cont_iterator();
x:=cont_iter.next();
while x/=none do
...
s(x);
...
x:=cont_iter.next();
end;
In this example, cont_iter is the name of the iterator. It is created on the first line by
instantiation of cont_iterator class, an iterator class defined to iterate over some container
class, cont. Succesive elements from the container are carried to x. The loop terminates
when x is bound to some empty value. (Here, none)In the middle of the loop, there is s(x)
an operation on x, the current element from the container. The next element of the
container is obtained at the bottom of the loop.
9. List out some of the OODBMS available.
Answer:
 GEMSTONE/OPAL of Gemstone systems.
 ONTOS of Ontos.
 Objectivity of Objectivity inc.
 Versant of Versant object technology.
 Object store of Object Design.
 ARDENT of ARDENT software.
 POET of POET software.
10. List out some of the object-oriented methodologies.
Answer:
 Object Oriented Development (OOD) (Booch 1991,1994).
 Object Oriented Analysis and Design (OOA/D) (Coad and Yourdon 1991).
 Object Modelling Techniques (OMT) (Rumbaugh 1991).
 Object Oriented Software Engineering (Objectory) (Jacobso