C++ Programming - Functions - Discussion

Discussion Forum : Functions - Programs (Q.No. 40)
40.
What is correct about the following program?
#include<iostream.h> 
class Base
{
    int x, y, z; 
    public: 
    Base()
    {
        x = y = z = 0;
    }
    Base(int xx, int yy = 'A', int zz = 'B')
    {
        x = xx;
        y = x + yy;
        z = x + y;
    }
    void Display(void)
    {
        cout<< x << " " << y << " " << z << endl;
    }
};
class Derived : public Base
{
    int x, y; 
    public:
    Derived(int xx = 65, int yy = 66) : Base(xx, yy)
    {
        y = xx; 
        x = yy;
    }
    void Display(void)
    {
        cout<< x << " " << y << " ";
        Display(); 
    }
};
int main()
{
    Derived objD;
    objD.Display();
    return 0; 
}
The program will report compilation error.
The program will run successfully giving the output 66 65.
The program will run successfully giving the output 65 66.
The program will run successfully giving the output 66 65 65 131 196.
The program will produce the output 66 65 infinite number of times (or till stack memory overflow).
Answer: Option
Explanation:
No answer description is available. Let's discuss.
Discussion:
21 comments Page 1 of 3.

ARNAB said:   1 decade ago
DevCpp confirms the answer to be E.

Hulkcpp said:   1 decade ago
It will produce infinite number of output 66 65. Because it is a recursive method without end condition.

Manjunath said:   1 decade ago
Its a recursive call so it prints 66 65 infinitely.

Naina said:   9 years ago
Can anyone explain properly.

Vishii said:   9 years ago
The answer should be 'B'. Can anyone explain why the answer is 'c'?

Manik said:   8 years ago
The Answer must be E.

Jitendra said:   8 years ago
The correct answer is E.

Pooja said:   8 years ago
The correct answer is E.

Tushar kumar said:   8 years ago
Yes, the answer is E well executed in the c++ compiler.

Meghnath malhothra said:   8 years ago
It will produce no.of 66 65 because it is a recursive function calling.


Post your comments here:

Your comments will be displayed after verification.