Question
What will be the output for the given set of code?
namespace ConsoleApplication4{ abstract class A { public int i; public abstract void display(); } class B: A { public int j; public int sum; public override void display() { sum = i + j; Console.WriteLine(+i + "\n" + +j); Console.WriteLine("sum is:" +sum); } } class Program { static void Main(string[] args) { A obj = new B(); obj.i = 2; B obj1 = new B(); obj1.j = 10; obj.display(); Console.ReadLine(); } }}
namespace ConsoleApplication4{ abstract class A { public int i; public abstract void display(); } class B: A { public int j; public int sum; public override void display() { sum = i + j; Console.WriteLine(+i + "\n" + +j); Console.WriteLine("sum is:" +sum); } } class Program { static void Main(string[] args) { A obj = new B(); obj.i = 2; B obj1 = new B(); obj1.j = 10; obj.display(); Console.ReadLine(); } }}
Answer: Option C
Was this answer helpful ?
Abstract method implementation is processed in subclass 'B' .Also the object 'obj' of abstract class 'A' initializes value of i as 2.The object of class 'B' also initializes value of j as 10.Since, the method display() is called using object of class A which is 'obj' and hence i = 2 whereas j = 0 .So, sum = 2.
Output : 2 0
sum is : 2
Was this answer helpful ?
Submit Solution