#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
// Function to calculate the volume of a box
double Volume()
{
return m_Length*m_Width*m_Height;
}
};
int main()
{
CBox box1; // Declare box1 of type CBox
CBox box2; // Declare box2 of type CBox
double boxVolume(0.0); // Stores the volume of a box
box1.m_Height = 18.0; // Define the values
box1.m_Length = 78.0; // of the members of
box1.m_Width = 24.0; // the object box1
box2.m_Height = box1.m_Height - 10; // Define box2
box2.m_Length = box1.m_Length/2.0; // members in
box2.m_Width = 0.25*box1.m_Length; // terms of box1
boxVolume = box1.Volume(); // Calculate volume of box1
cout << endl
<< "Volume of box1 = " << boxVolume;
cout << endl
<< "Volume of box2 = "
<< box2.Volume();
cout << endl
<< "A CBox object occupies "
<< sizeof box1 << " bytes.";
cout << endl;
return 0;
}
Output:
Volume of box1 = 33696
Volume of box2 = 6084
A CBox object occupies 24 bytes.
And also why exactly are class members private by default?
And is this why. I just need a yes or no to clear up my confusion :D
So with private control you can only initialize the member and then after never change it? So its only their just to make sure sometimes you don't misuse it like why consts variables exist?
Private is used so objects outside of the class cannot modify the members. Private is the default because it's the most secure level, security by default. In C++ this is especially important with encapsulation.
Everyone who reads this thread has probably read your other thread as well. You'll get more opinions from the people you want to hear if you don't seem obnoxious about it.