Call class constructor without new operator : instance object « Class « C++ Tutorial






#include <iostream>
using std::cout;
using std::endl;

class Box {
  public:
    double length;
    double width;
    double height;

    // Constructor
    Box(double lengthValue, double widthValue, double heightValue) {
      cout << "Box constructor called" << endl;
      length = lengthValue;
      width = widthValue;
      height = heightValue;
    }

    double volume() {
      return length * width * height;
    }
};

int main() {
  Box firstBox(80.0, 50.0, 40.0);

  cout << "Size of first Box object is "
       << firstBox.length  << " by "
       << firstBox.width << " by "
       << firstBox.height << "\n "
       << "Volume of first Box object is " << firstBox.volume()
       << endl;

  return 0;
}
Box constructor called
Size of first Box object is 80 by 50 by 40
 Volume of first Box object is 160000








9.32.instance object
9.32.1.Using an empty initializer
9.32.2.Automatically converted into MyClass(4): MyClass ob = 4;
9.32.3.MyClass ob(4)
9.32.4.MyClass ob = MyClass(4);
9.32.5.Creates two objects.
9.32.6.Object assignment
9.32.7.Creating objects on the heap using new
9.32.8.Accessing members of objects on the heap
9.32.9.Call class constructor without new operator
9.32.10.Assign class object