// Ex7_04.cpp
// Using a constructor
#include <iostream>
using std::cout;
using std::endl;
class CBox // Class definition at global scope
{
public:
double m_Length; // Length of a box in inches
double m_Width; // Width of a box in inches
double m_Height; // Height of a box in inches
// Constructor definition
CBox(double lv, double wv, double hv)
{
cout << "Constructor called for CBox(" << lv << ','
<< wv << ',' << hv << ")." << endl;
m_Length = lv; // Set values of
m_Width = wv; // data members
m_Height = hv;
}
// Function to calculate the volume of a box
double Volume()
{
return m_Length* m_Width* m_Height;
}
};
int main()
{
CBox box1( 78.0, 24.0, 18.0 ); // Declare and initialize box1
CBox cigarBox( 8.0, 5.0, 1.0 ); // Declare and initialize cigarBox
cout << "Volume of box1 = " << box1.Volume() << endl;
cout << "Volume of cigarBox = " << cigarBox.Volume() << endl;
return 0;
}
Ly8gRXg3XzA0LmNwcAovLyBVc2luZyBhIGNvbnN0cnVjdG9yCiNpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgc3RkOjpjb3V0Owp1c2luZyBzdGQ6OmVuZGw7CmNsYXNzIENCb3ggICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDbGFzcyBkZWZpbml0aW9uIGF0IGdsb2JhbCBzY29wZQp7CnB1YmxpYzoKICBkb3VibGUgbV9MZW5ndGg7ICAgICAgICAgICAgIC8vIExlbmd0aCBvZiBhIGJveCBpbiBpbmNoZXMKICBkb3VibGUgbV9XaWR0aDsgICAgICAgICAgICAgIC8vIFdpZHRoIG9mIGEgYm94IGluIGluY2hlcwogIGRvdWJsZSBtX0hlaWdodDsgICAgICAgICAgICAgLy8gSGVpZ2h0IG9mIGEgYm94IGluIGluY2hlcwoKICAvLyBDb25zdHJ1Y3RvciBkZWZpbml0aW9uCiAgQ0JveChkb3VibGUgbHYsIGRvdWJsZSB3diwgZG91YmxlIGh2KQogIHsKICAgIGNvdXQgPDwgIkNvbnN0cnVjdG9yIGNhbGxlZCBmb3IgQ0JveCgiIDw8IGx2IDw8ICcsJwogICAgICAgICA8PCB3diA8PCAnLCcgPDwgaHYgPDwgIikuIiA8PCBlbmRsOwogICAgbV9MZW5ndGggPSBsdjsgICAgICAgICAgICAgICAgICAgLy8gU2V0IHZhbHVlcyBvZgogICAgbV9XaWR0aCA9IHd2OyAgICAgICAgICAgICAgICAgICAgLy8gZGF0YSBtZW1iZXJzCiAgICBtX0hlaWdodCA9IGh2OwogIH0KCiAgLy8gRnVuY3Rpb24gdG8gY2FsY3VsYXRlIHRoZSB2b2x1bWUgb2YgYSBib3gKICBkb3VibGUgVm9sdW1lKCkKICB7CiAgICByZXR1cm4gbV9MZW5ndGgqIG1fV2lkdGgqIG1fSGVpZ2h0OwogIH0KCn07CgppbnQgbWFpbigpCnsKICBDQm94IGJveDEoIDc4LjAsIDI0LjAsIDE4LjAgKTsgICAgICAgICAgLy8gRGVjbGFyZSBhbmQgaW5pdGlhbGl6ZSBib3gxCiAgQ0JveCBjaWdhckJveCggOC4wLCA1LjAsIDEuMCApOyAgICAgICAgIC8vIERlY2xhcmUgYW5kIGluaXRpYWxpemUgY2lnYXJCb3gKCiAgY291dCA8PCAiVm9sdW1lIG9mIGJveDEgPSAiIDw8IGJveDEuVm9sdW1lKCkgPDwgZW5kbDsKICBjb3V0IDw8ICJWb2x1bWUgb2YgY2lnYXJCb3ggPSAiIDw8IGNpZ2FyQm94LlZvbHVtZSgpIDw8IGVuZGw7CiAgcmV0dXJuIDA7Cn0=