OOPS
Question 1 |
A software engineer is required to implement two sets of algorithms for a single set of matrix operations in an object oriented programming language; the two sets of algorithms are to provide precisions of 10-3 and 10-6, respectively. She decides to implement two classes, Low Precision Matrix and High Precision Matrix, providing precisions 10-3 and 10-6 respectively. Which one of the following is the best alternative for the implementation?
- (S1) The two classes should be kept independent.
(S2) Low Precision Matrix should be derived from High Precision Matrix.
(S3) High Precision Matrix should be derived from Low Precision Matrix.
(S4) One class should be derived from the other; the hierarchy is immaterial.
A | S1 |
B | S2 |
C | S3 |
D | S4 |
Question 2 |
A | User interface class |
B | System class |
C | Business domain class |
D | Process class |
Question 3 |
A | Type |
B | Set of operations on that type |
C | How the type is implemented |
D | (A) and (B) |
Question 4 |
A | Private and protected members |
B | Public members only |
C | Private members only |
D | None |
Question 5 |
A | C++ |
B | Java |
C | Both C++ and Java |
D | None |
Question 6 |
A | Private |
B | Protected |
C | Public |
D | Friend |
Question 7 |
A | Java applets can not be written in any programming language |
B | An applet is not a small program |
C | An applet can be run on its own |
D | Applets are embedded in another applications |
Question 8 |
Class Test {
public static void main(String[] args) {
Test obj = new Test();
obj.start();
}
void start() {
String stra = ”do”;
String strb = method(stra);
System.out.print(“: ”+stra + strb);
}
String method(String stra) {
stra = stra + ”good”;
System.out.print(stra);
return“ good”;
}
}
A | dogood : dogoodgood |
B | dogood : gooddogood |
C | dogood : dodogood |
D | dogood : dogood |
Question 9 |
A | Only (a) is TRUE. |
B | Only (b) is TRUE. |
C | Both (a) and (b) are TRUE. |
D | Neither (a) nor (b) are TRUE. |
TRUE: A class can only inherit one class but can implement multiple interfaces.
Question 10 |
A | Remove Method Invocation (RMI) |
B | Remote Procedure Calls (RPC) |
C | Multicast sockets |
D | Remote Method Invocation (RMI) or Remote Procedure Calls (RPC) |
Question 11 |
A | Top-down |
B | Bottom-up |
C | Right-left |
D | Left-right |
Question 12 |
A | Classname objectname;
|
B | Class classname obj objectname; |
C | Class classname obj objectname; |
D | Classname obj objectname |
For example ,let there be some class of name Area. So we can declare object of Area class like,
Area A1;
Question 13 |
A | 1 |
B | 2 |
C | 3 |
D | as many as required |
Question 14 |
A | Serialization |
B | Garbage collection |
C | File Filtering |
D | All the given options |
Question 15 |
A | Returns a pointer to a variable
|
B | Creates a variable called new |
C | Obtains memory for a new variable |
D | Tells how much memory is available |
Question 16 |
A | Refer to current class object |
B | Refer to static method of the class
|
C | Refer to parent class object |
D | Refer to static variable of the class |
Question 17 |
A | Copy constructor |
B | Friend constructor |
C | Default constructor |
D | Parameterized constructor |
Default constructors: If the programmer does not supply a constructor for an instantiable class, Java/C++ compiler inserts a default constructor into your code on your behalf. This constructor is known as default constructor.
Copy Constructor: Copy constructors define the actions performed by the compiler when copying class objects. A Copy constructor has one formal parameter that is the type of the class (the parameter may be a reference to an object). It is used to create a copy of an existing object of the same class. Even though both classes are the same, it counts as a conversion constructor.
Question 18 |
A | function |
B | class |
C | object |
D | operator function |
Question 19 |
A | same as object
|
B | same as member |
C | same as class |
D | same as function |
Question 20 |
What is the output of the following program:
#include
class sample
{
private int a,b’
public: void test ( )
{
a = 100;
b = 200;
}
friend int compute (sample e1);
};
int compute (sample e1)
{
return int (e1.a + e1.b) - 5;
}
Main ( )
{
Sample e;
e.test( );
Cout < < compute(e);
}
A | 205 |
B | 300 |
C | 295 |
D | error |
Question 21 |
A | Class loader only |
B | Class loader and Java Interpreter |
C | Class loader, Java Interpreter and API |
D | Java Interpreter only |
Question 22 |
Which of the following statements are true regarding C++?
(a) Overloading gives the capacity to an existing operator to operate on other data types.
(b) Inheritance in object oriented programming provides support to reusability.
(c) When object of a derived class is defined, first the constructor of derived class in executed then constructor of a base class is executed.
(d) Overloading is a type of polymorphism. Choose the correct option from those given below:
A | (a) and (b) only |
B | (a), (b) and (c) only |
C | (a), (b) and (d) only |
D | (b), (c) and (d) only |
TRUE: Inheritance in object oriented programming provides support to reusability.
FALSE: When object of a derived class is defined, first the constructor of derived class in executed then constructor of a base class is executed.
2 important points Order of Constructor Call with Inheritance in C++
1. Whether derived class's default constructor is called or parameterised is called, base class's default constructor is always called inside them.
2. To call base class's parameterised constructor inside derived class's parameterised constructor, we must mention it explicitly while declaring derived class's parameterized constructor.
TRUE: Overloading is a type of polymorphism.
Question 23 |
Which of the following statement is false for class B?
A | Member function of class B can access protected data of class A |
B | Member function of class access public data of class A |
C | Member function of class B cannot access private data of class A |
D | Object of derived class B can access public base class data |
B→ Derived class from A with protected inheritance.
The friend functions and the member functions of a friend class can have direct access to both the PRIVATE and PROTECTED data, the member functions of a derived class can directly access only the PROTECTED data.
However, they can access the PRIVATE data through the member functions of the base class TRUE: Member function of class B can access protected data of class A
TRUE: Member function of class access public data of class A
FALSE: Member function of class B cannot access private data of class A
TRUE: Object of derived class B can access public base class data
Question 24 |
If a class C is derived from class B which is derived from class A, all though public inheritance, then a class C member function can access
A | protected and public data in C and B
|
B | protected and public data only C |
C | private data in A and B
|
D | protected data in A and B |
Question 25 |
In C++ operator, << operator is called as
A | an insertion operator or put to operator |
B | an extraction operator or get from operator
|
C | an insertion operator or get from operator |
D | None of the given options |
Question 26 |
Function overloading in C++ is
A | A group function with the same name
|
B | all have the same numbers and type of arguments
|
C | functions with same name and same numbers and same type of arguments
|
D | None of the given options |
Question 27 |
How constructor differ from destructor?
A | Constructors can be overloaded but destructors can’t be overloaded |
B | Constructors can take arguments but destructor can’t |
C | Constructors can be overloaded but destructors can’t be overloaded and Constructors can take arguments but destructor can’t
|
D | None of the given options
|
Destructors cant be overloaded because your code wouldn't have a clue about which destructor it needs to call when you destroy an object.
Question 28 |
Abstract class cannot have
A | zero instance |
B | multiple instance
|
C | Both zero instance and multiple instance
|
D | None of the given options |
Question 29 |
Usually a pure virtual function
A | has complete function body |
B | will never be called |
C | will be called only to delete an object
|
D | is defined only in derived class
|
Question 30 |
If x=5, y=2, then x^y equals (where, ^ is a bitwise XOR operator)
A | 00000111 |
B | 10000010
|
C | 10100000 |
D | 11001000 |
1 XOR 1 = 0
1 XOR 0 =1
0 XOR 0 = 0
0 XOR 1 = 1
So 5 in binary form is 00000101 and 2 in binary form is 00000010.
Hence 00000101 XOR 00000010 = 00000111.
Question 31 |
Run-time polymorphism is achieved by
A | friend function |
B | virtual function
|
C | operator overloading |
D | function overloading |
Question 32 |
The operator that cannot be overloaded is
A | ++ |
B | :: |
C | 0 |
D | ~ |
Question 33 |
The keyword friend does not appear in
A | the class allowing access to another class |
B | the class desiring access to another class |
C | the private section of a class
|
D | the public section of a class |
Question 34 |
The C++ statement cout <<(0 ==0) will
A | Outputs as 0 |
B | Outputs as 1 |
C | Generate error at the time of compilation
|
D | Generate run time |
Question 35 |
Which of the following statements is true about C++ language?
A | C++ supports multiple inheritance |
B | C++ does not support operator overloading. |
C | C++ supports dynamic polymorphism
|
D | C++ supports interface definitions. |
E | Both A and D |
C++ supports operator overloading.
C++ supports static polymorphism.
C++ supports interface definitions.
Question 36 |
A | &A[0][0][0]+w(b*c*s+c*r+t)
|
B | &A[0][0][0]+w(b*c*r*+c*s+t)
|
C | &A[0][0][0]+w(a*b*r*+c*s+t)
|
D | &A[0][0][0]+w(a*b*s+c*r+t) |
Question 37 |
A | Date::Date(int dd) {/*...*/} |
B | explicit Date::Date(int dd) {/*...*/} |
C | Such a constructor cannot be defined |
D | Constructor always has to be defined inside the class |
class class_name {
public:
class_name();
};
// Defining a Constructor Outside of the Class by using :: operator
class_name::class_name()
{
}
Question 38 |
List I List II
(A) Localization (I) Encapsulation
(B) Packaging or binding of a collection of items (II) Abstraction
(C) Mechanism that enables designer to focus on essential details of a program component (III) Characteristics of software that indicate the manner in which information is concentrated in a program.
(D) Information hiding (IV) Suppressing the operational details of a program component
Choose the correct answer from the options given below:
A | (A)-(I), (B)-(II), (C)-(III), (D)-(IV) |
B | (A)-(II), (B)-(I), (C)-(III), (D)-(IV) |
C | (A)-(III), (B)-(I), (C)-(II), (D)-(IV) |
D | (A)-(III), (B)-(I), (C)-(IV), (D)-(II) |
Question 39 |
A | Overloading and linking |
B | Overriding and linking |
C | Reusability and data-hiding |
D | Overloading and Overriding |
Overriding occurs when two methods have the same method name and parameters. One of the methods is in the parent class, and the other is in the child class. Overriding allows a child class to provide the specific implementation of a method that is already present in its parent class.
Question 40 |
A | Single try can have multiple associated catch with it |
B | A Single Catch can have multiple try associated with it |
C | Finally block execute only when the class is inherited |
D | For a given exception, multiple catch can execute |
Question 41 |
class Dialog1
{
public static void main(String args[])
{
Frame f1=new Frame("INDIA");
f1.setSize(300,300);
f1.setVisible(true);
FileDialog d=new FileDialog(f1, "MyDialog");
d.setVisible(true);
String fname=d.getDirectory()+d.getFile();
System.out.println("The Selection is"+fname);
}
}
To make the Frame visible, which of the following statements are true?
A | f1.setClear(true); |
B | f1.setVisible(true); |
C | f1.setlook(true); |
D | f1.setclean(true); |
Question 42 |
A | Serializable Interface |
B | Utilization Interface |
C | Threadable Interface |
D | Recognizable Interface |
Question 43 |
A | To enable the JVM to make call to the main( ), as class has not been instantiated. |
B | To enable the JVM to make call to the main( ), as class has not been inherited. |
C | To enable the JVM to make call to the main( ), as class has not been loaded. |
D | To enable the JVM to make call to the main( ), as class has not been finalized. |
Question 44 |
A | Bitwise right shift assignment |
B | Address of |
C | Indirection |
D | Structure reference |
→ Bitwise right shift assignment(>>), Address of(&) and Indirection(*) can be overloaded in C and C++.
→ The . (dot) operator and the → (arrow) operator are used to reference individual members of classes, structures, and unions.
Question 45 |
A | Constant |
B | Structure |
C | Array |
D | Header file |
→ Header file is a library file, we can not passed to a function in C++.
→ We can pass constant,Structure and Array
Question 46 |
A | Compiler sets up a separate function for every definition of function. |
B | Compiler does not set up a separate function for every definition of function. |
C | Overloaded functions cannot handle different types of objects. |
D | Overloaded functions cannot have same number of arguments. |
→ Compiler sets up a separate function for every definition of function.
→ Two ways to use overloaded function is
1. By changing number of Arguments.
2. By having different types of argument.
Question 47 |
A | Auto |
B | Extern |
C | Static |
D | Register |
Question 48 |
A | A function can only be declared a friend by a class itself. |
B | Friend functions are not members of a class, they are associated with it. |
C | Friend functions are members of a class. |
D | It can have access to all members of the class, even private ones. |
TRUE: function can only be declared a friend by a class itself.
TRUE: Friend functions are not members of a class, they are associated with it.
FALSE:Friend functions are members of a class.
TRUE: It can have access to all members of the class, even private ones.
Question 49 |
A | Inheritance only |
B | Virtual functions only |
C | References only |
D | Inheritance, Virtual functions and references |
→ In C++, polymorphism requires inheritance, virtual functions and references
Question 50 |
A | 4 |
B | 3 |
C | 2 |
D | 1 |
→ Templates are a feature of the C++ programming language that allows functions and classes to operate with generic types. This allows a function or class to work on many different data types without being rewritten for each one.