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

  • Correct Answer
  • 6 40 38 


  • Constructors and Destructors problems


    Search Results


    • 1. 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
    • 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(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
    • 4. 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
    • 5. What will be the output of the following program?
      #include<iostream.h> 
      class CuriousTabBase
      {
          public:
          int x, y;
          CuriousTabBase(int xx = 0, int yy = 5)
          {
              x = ++xx; 
              y = --yy;
          }
          void Display()
          {
              cout<< --y;
          } 
          ~CuriousTabBase(){} 
      };
      class CuriousTabDerived : public CuriousTabBase
      {
          public:
          void Increment()
          {
              y++;
          }
          void Display()
          {
              cout<< --y;
          } 
      }; 
      int main()
      {
          CuriousTabDerived objCuriousTab;
          objCuriousTab.Increment();
          objCuriousTab.Display();
          return 0; 
      }

    • Options
    • A. 3
    • B. 4
    • C. 5
    • D. Garbage-value
    • E. The program will report compile time error.
    • Discuss
    • 6. 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
    • 7. 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
    • 8. 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
    • 9. 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
    • 10. 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


    Comments

    There are no comments.

Enter a new Comment