logo

CuriousTab

CuriousTab

Constructors and Destructors problems


  • 1. Which of the following statement is correct about the program given below?
    #include<iostream.h> 
    class CuriousTab
    {
        int x; 
        public:
        CuriousTab(short ss)
        {
            cout<< "Short" << endl;
        }
        CuriousTab(int xx)
        {
            cout<< "Int" << endl;
        }
        CuriousTab(float ff)
        {
            cout<< "Float" << endl;
        }
        ~CuriousTab() 
        {
            cout<< "Final";
        }
    };
    int main()
    {
        CuriousTab *ptr = new CuriousTab('B');
        return 0; 
    }

  • Options
  • A. The program will print the output Short .
  • B. The program will print the output Int .
  • C. The program will print the output Float .
  • D. The program will print the output Final .
  • E. None of the above
  • Discuss
  • 2. What will be the out of the following program?
    #include<iostream.h> 
    class CuriousTabBase
    {
        public:
        int x, y; 
        public:
        CuriousTabBase(int xx = 0, int yy = 0)
        {
            x = xx;
            y = yy; 
        } 
     };
    class CuriousTabDerived : public CuriousTabBase
    {
        private:
            CuriousTabBase objBase; 
        public:
        CuriousTabDerived(int xx, int yy) : CuriousTabBase(xx), objBase(yy)
        {
            cout << x          << " " 
                 << this->x    << " "  
                 << CuriousTabBase::x << " "     
                 << this->objBase.x ;
        } 
        ~CuriousTabDerived()
        { }
    };
    int main()
    {
        CuriousTabDerived objDev(11, 22); 
        return 0;
    }

  • Options
  • A. 11 22 0 0
  • B. 11 11 0 22
  • C. 11 11 11 0
  • D. 11 11 11 22
  • E. The program will report compile time error.
  • Discuss
  • 3. Which of the following statement is correct about the program given below?
    #include<iostream.h> 
    class CuriousTab
    {
        int x; 
        public:
            CuriousTab()
            {
               x = 0;
            }
            CuriousTab(int xx)
            {
                x = xx; 
            }
            CuriousTab(CuriousTab &objB)
            {
                x = objB.x; 
            }
            void Display()
            {
                cout<< x << " ";
            }
    };
    int main()
    {
        CuriousTab objA(25);
        CuriousTab objB(objA);
        CuriousTab objC = objA;
        objA.Display();
        objB.Display();
        objC.Display();
        return 0; 
    }

  • Options
  • A. The program will print the output 25 25 25 .
  • B. The program will print the output 25 Garbage 25 .
  • C. The program will print the output Garbage 25 25 .
  • D. The program will report compile time error.
  • Discuss
  • 4. What will be the output of the following program?
    #include<iostream.h> 
    class CuriousTab
    {
        int x, y; 
        public:
        CuriousTab(int xx)
        {
            x = ++xx;
        } 
        ~CuriousTab()
        {
            cout<< x - 1 << " ";
        }
        void Display()
        {
            cout<< --x + 1 << " ";
        } 
    };
    int main()
    {
        CuriousTab objCuriousTab(5);
        objCuriousTab.Display();
        int *p = (int*) &objCuriousTab;
        *p = 40;
        objCuriousTab.Display();
        return 0; 
    }

  • Options
  • A. 6 6 4
  • B. 6 6 5
  • C. 5 40 38
  • D. 6 40 38
  • E. 6 40 39
  • Discuss
  • 5. What will be the output of the following program?
    #include<iostream.h>
    class CuriousTabBase
    {   
        public:
        CuriousTabBase()
        {
            cout<< "Base OK. "; 
        }
        virtual ~CuriousTabBase()
        {
            cout<< "Base DEL. "; 
        }
    };
    class CuriousTabDerived: public CuriousTabBase
    {
        public:
        CuriousTabDerived()
        { 
            cout<< "Derived OK. "; 
        }
        ~CuriousTabDerived()
        { 
            cout<< "Derived DEL. "; 
        }
    };
    int main()
    {
        CuriousTabBase *basePtr = new CuriousTabDerived();
        delete basePtr;
        return 0;
    }

  • Options
  • A. Base OK. Derived OK.
  • B. Base OK. Derived OK. Base DEL.
  • C. Base OK. Derived OK. Derived DEL.
  • D. Base OK. Derived OK. Derived DEL. Base DEL.
  • E. Base OK. Derived OK. Base DEL. Derived DEL.
  • Discuss
  • 6. Which of the following statement is correct about the program given below?
    #include<iostream.h> 
    class CuriousTab
    {
        int x, y; 
        public:
            CuriousTab()
            {
                x = 0;
                y = 0; 
            }
            CuriousTab(int xx, int yy)
            {
                x = xx;
                y = yy; 
            }
            CuriousTab(CuriousTab *objB)
            {
                x = objB->x;
                y = objB->y; 
            }
            void Display()
            {
                cout<< x << " " << y;
            }
    };
    int main()
    {
        CuriousTab objCuriousTab( new CuriousTab(20, 40) );
        objCuriousTab.Display();
        return 0; 
    }

  • Options
  • A. The program will print the output 0 0 .
  • B. The program will print the output 20 40 .
  • C. The program will print the output Garbage Garbage .
  • D. The program will report compile time error.
  • Discuss
  • 7. What will be the out of the following program?
    #include<iostream.h> 
    class CuriousTabBase
    {
        protected:
        int x, y; 
        public:
        CuriousTabBase(int xx = 0, int yy = 0)
        {
            x = xx;
            y = yy; 
        } 
        void Show()
        {
            cout<< x * this->y << endl;
        }
    };
    class CuriousTabDerived
    {
        private:
            CuriousTabBase objBase; 
        public:
        CuriousTabDerived(int xx, int yy) : objBase(xx, yy)
        {
            objBase.Show();
        } 
        ~CuriousTabDerived()
        { }
    };
    int main()
    {
        CuriousTabDerived objDev(10, 20); 
        return 0;
    }

  • Options
  • A. 0
  • B. 100
  • C. 200
  • D. 400
  • E. The program will report compile time error.
  • Discuss
  • 8. Which of the following constructor is used in the program given below?
    #include<iostream.h> 
    class CuriousTab
    {
        int x, y; 
        public:
        CuriousTab(int xx = 10, int yy = 20 )
        {
            x = xx; 
            y = yy;
        }
        void Display()
        {
            cout<< x << " " << y << endl;
        } 
        ~CuriousTab()
        { } 
    };
    int main()
    {
        CuriousTab objCuriousTab; 
        objCuriousTab.Display(); 
        return 0;
    }

  • Options
  • A. Copy constructor
  • B. Simple constructor
  • C. Non-parameterized constructor
  • D. Default constructor
  • Discuss
  • 9. What is the technical word for the function ~CuriousTab() defined in the following program?
    #include<iostream.h> 
    class CuriousTab
    {
        int x, y; 
        public:
        CuriousTab(int xx = 10, int yy = 20 )
        {
            x = xx; 
            y = yy;
        }
        void Display()
        {
            cout<< x << " " << y << endl;
        } 
        ~CuriousTab()
        { } 
    };
    int main()
    {
        CuriousTab objCuriousTab; 
        objCuriousTab.Display(); 
        return 0;
    }

  • Options
  • A. Constructor
  • B. Destructor
  • C. Default Destructor
  • D. Function Template
  • Discuss

First 2 3 4 5 6