- Design a stereo graphics class (
CStereoShape
class), and meet the following requirements:
- A virtual function
GetArea
, which can get the surface area of the stereo graphic, Here we let it print outCStereoShape::GetArea()
and return a value of 0.0, which means that CStereoShape 's GetArea is called. - A virtual function
GetVolume
, which can get the volume of the stereo graphic, Here we let it print outCStereoShape::GetVolume()
and return a value of 0.0, which means that CStereoShape 's GetVolume is called. - A virtual function
Show
, which print out the description of the stereo graphics. But here we let it print outCStereoShape::Show()
, which means that Show of CStereoShape is invoked.; - A static private integer variable named
numberOfObject
, whose initial value is 0, which denotes the number of Stereo graphics generated by our program. - A method named
GetNumOfObject()
that returns the value of numberOfObject. - Add constructor functions based on requirement
- Design a cube class (
CCube
class), which inherits the CStereoShape class and meets the following requirements:
- A no-arg constructor that creates a default Cube.
- A constructor with parameters whose parameters correspond to the length, width, and height of the cube, respectively.
- A copy constructor that creates a Cube object with the specified object of Cube .
- Override
GetArea
、GetVolume
of theCStereoShape
class to complete the calculation of the surface area and volume of the cube, respectively. - Override
Show()
of theCStereoShape
class to print out the description (includes length, width, height, the surface area and volume )for the Cude object.
- Design a sphere class (
CSphere
), which inherits from the StereoShape class and meets the following requirements:
- A no-arg constructor that creates a default Sphere.
- A constructor with parameters whose parameters correspond to the radius of thesphere.
- A copy constructor that creates a
Sphere
object with the specified object of Sphere. - Override the GetArea and GetVolume of the CStereoShape class to complete thecalculation of the surface area and volume of the sphere, respectively.
- Override
Show()
of the CStereoShape class to print out the description (includesradius, the surface area and volume )for the Sphere object.
- Write a test program and complete at least the following tasks in the main functions:
-
Create a CCube object named a_cube, which the length, width and height are 4.0, 5.0, 6.0 respectively.
-
Create a CSphere object named c_sphere, which radius is 7.9.
-
Define the CStereoShape pointer p, point p to a_cube, and then print the information of a_cube to the terminal by p;
-
Point p to c_sphere, then print the information of c_sphere to the terminal by p.
-
Prints out the number of Stereo graphics created by the test program
-
Note that You may need to use the
setf ()
andprecision ()
formatting methods to set the output mode.