logo

CuriousTab

CuriousTab

Discussion


Home C++ Programming Constructors and Destructors Comments

  • Question
  • 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.

  • Correct Answer
  • Base OK. Derived OK. Derived DEL. Base DEL. 


  • Constructors and Destructors problems


    Search Results


    • 1. 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
    • 2. 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
    • 3. 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
    • 4. 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
    • 5. Which of the following statement is correct about the program given below?
      #include<iostream.h> 
      class Tab
      {
            int x; 
          public:
            Tab();
           ~Tab();
            void Show() const;
      };
      Tab::Tab()
      {
          x = 25;
      }
      void Tab::Show() const
      {
          cout<< x;
      }
      int main()
      {
          Tab objB;
          objB.Show();
          return 0; 
      }

    • Options
    • A. The program will print the output 25.
    • B. The program will print the output Garbage-value.
    • C. The program will report compile time error.
    • D. The program will report runtime error.
    • 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
    • 10. Which of the following statement is correct about the program given below?
      #include<iostream.h> 
      static int Result;
      class India
      {
          public:
          void Change(int x = 10, int y = 20, int z = 30)
          {
              cout<< x + y + z;
          }
          void Display(int x = 40, float y = 50.00)
          {
              Result = x % x; 
              cout<< Result;
          }
      };
      class CuriousTab
      {
          int x, y; 
          public:
          void Change(int x, int y = 50)
          {
              cout<< x + y;
          }
      };
      class CuriousTab: public India, public CuriousTab
      {
          public:
          void Display(int x = 10, int xx = 100, int xxx = 1000)
          {
              Result = x + xx % x * x;
              cout<< Result ; 
          }
      };
      int main()
      {
          CuriousTab objCuriousTab;
          objCuriousTab.India::Display(10, 20.00);
          return 0; 
      }

    • Options
    • A. The program will print the output 0.
    • B. The program will print the output 10.
    • C. The program will print the output 30.
    • D. The program will print the output 40.
    • E. The program will report compile time error.
    • Discuss


    Comments

    There are no comments.

Enter a new Comment