Home / C# Programming / Polymorphism :: General Questions

C# Programming :: Polymorphism

  1. Which of the following unary operators can be overloaded?

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

  2. A.
    1, 2, 3
    B.
    3, 4, 5
    C.
    3 only
    D.
    5 only

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

  4. A.

    inherits

    B.

    extends

    C.

    inheritable

    D.

    not inheritable

    E.

    sealed


  5. 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?

  6. A.
    new
    B.
    base
    C.
    overloads
    D.
    override
    E.
    overridable

  7. Which of the following statements is correct?

  8. 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.

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

  10. A.
    op
    B.
    opoverload
    C.
    operator
    D.
    operatoroverload
    E.
    udoperator

  11. Which of the following is the correct way to overload + operator?

  12. 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

  13. Which of the following statements is correct?

  14. 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.

  15. 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.

  16. A.
    1, 3
    B.
    2, 4
    C.
    2, 5
    D.
    3, 4

  17. 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() 
        { } 
     }
    

  18. 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.


  19. Which of the following statements is correct?

  20. 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.