General Questions

Question 1 :

Which of the following unary operators can be overloaded?

1. true
2. false
3. +
4. new
5. is


A). 1, 2, 3
B). 3, 4, 5
C). 3 only
D). 5 only
Answer : Option A

Question 2 :

A derived class can stop virtual inheritance by declaring an override as


A). inherits
B). extends
C). inheritable
D). not inheritable
E). sealed
Answer : Option E

Question 3 :

Which of the following keyword is used to change the data and behavior of a base class by replacing a member of a base class with a new derived member?


A). new
B). base
C). overloads
D). override
E). overridable
Answer : Option A

Question 4 :

Which of the following statements is correct?


A). When used as a modifier, the new keyword explicitly hides a member inherited from a base class.
B). Operator overloading works in different ways for structures and classes.
C). It is not necessary that all operator overloads are static methods of the class.
D). The cast operator can be overloaded.
Answer : Option A

Question 5 :

Which of the following keyword is used to overload user-defined types by defining static member functions?


A). op
B). opoverload
C). operator
D). operatoroverload
E). udoperator
Answer : Option C

Question 6 :

Which of the followings is the correct way to overload + operator?


A). public sample operator + ( sample a, sample b )
B). public abstract operator + ( sample a, sample b)
C). public abstract sample operator + (sample a, sample b )
D). public static sample operator + ( sample a, sample b )
E). All of the above
Answer : Option D

Question 7 :

Which of the following statements is correct?


A). Static methods can be a virtual method.
B). Abstract methods can be a virtual method.
C). It is necessary to override a virtual method.
D). When overriding a method, the names and type signatures of the override method must be the same as the virtual method that is being overriden.
E). We can override virtual as well as non-virtual methods.
Answer : Option D

Question 8 :

Which of the following statements are correct?

1. All operators in C#.NET can be overloaded.
2. We can use the new modifier to modify a nested type if the nested type is hiding another type.
3. In case of operator overloading all parameters must be of the different type than the class or struct that declares the operator.
4. Method overloading is used to create several methods with the same name that performs similar tasks on similar data types.
5. Operator overloading permits the use of symbols to represent computations for a type.


A). 1, 3
B). 2, 4
C). 2, 5
D). 3, 4
Answer : Option C

Question 9 :

Which of the following statement is correct about the C#.NET code snippet given below?

public class Sample
{
    public int x;
    public virtual void fun()
    { }
}
public class DerivedSample : Sample
{
    new public void fun()
    { }
}


A). DerivedSample class hides the fun() method of base class.
B). The DerivedSample class version of fun() method gets called using Sample class reference which holds DerivedSample class object.
C). The code replaces the DerivedSample class version of fun() method with its Sample class version.
D). It is not possible to hide Sample class version of fun() method without use of new in DerivedSample class.
Answer : Option A

Question 10 :

Which of the following statements is correct?


A). The conditional logical operators cannot be overloaded.
B). When a binary operator is overloaded the corresponding assignment operator, if any, must be explicitly overloaded.
C). We can use the default equality operator in an overloaded implementation of the equality operator.
D). A public or nested public reference type does not overload the equality operator.
E). The array indexing operator can be overloaded.
Answer : Option A

Question 11 :

Which of the following operators cannot be overloaded?

1.true
2. false
3. new
4. ~
5. sizeof


A). 1, 3
B). 2, 4
C). 3, 5
D). All of the above
Answer : Option C

Question 12 :

Which of the following modifier is used when a virtual method is redefined by a derived class?


A). overloads
B). override
C). overridable
D). virtual
E). base
Answer : Option B

Question 13 :

In order for an instance of a derived class to completely take over a class member from a base class, the base class has to declare that member as


A). new
B). base
C). virtual
D). overrides
E). overloads
Answer : Option C

Question 14 :

Which of the following can be declared as a virtual in a class?

1. Methods
2. Properties
3. Events
4. Fields
5. Static fields


A). 1, 2, 3
B). 3, 5
C). 2, 4
D). 2, 3, 5
Answer : Option A

Question 15 :

Which of the following statements is correct?


A). Only one object can be created from an abstract class.
B). By default methods are virtual.
C). If a derived class does not provide its own version of virtual method then the one in the base class is used.
D). If the method in the derived class is not preceded by override keywords, the compiler will issue a warning and the method will behave as if the override keyword were present.
E). Each derived class does not have its own version of a virtual method.
Answer : Option C

Question 16 :

Which of the following are necessary for Run-time Polymorphism?

1. The overridden base method must be virtual, abstract or override.
2. Both the override method and the virtual method must have the same access level modifier.
3. An override declaration can change the accessibility of the virtual method.
4. An abstract inherited property cannot be overridden in a derived class.
5. An abstract method is implicitly a virtual method.


A). 1, 3
B). 1, 2, 5
C). 2, 3, 4
D). 4 only
Answer : Option B