OOP in c++
Elm20oSample Output
Original Polyhedra
------------------------------------------------------
[Sphere] (2, 2, 2)->Radius: 1 Diameter: 2
[Cylinder] (2, 2, 2)->Radius: 1 Height: 2
[Sphere] (8, 8, 8)->Radius: 4 Diameter: 8
[Cylinder] (6, 6, 2)->Radius: 3 Height: 2
[Composite] (14, 14, 14)->3 polyhedra
[Sphere] (6, 6, 6)->Radius: 3 Diameter: 6
[Sphere] (10, 10, 10)->Radius: 5 Diameter: 10
[Sphere] (14, 14, 14)->Radius: 7 Diameter: 14
[Composite] (10, 10, 10)->2 polyhedra
[Cylinder] (4, 4, 1)->Radius: 2 Height: 1
[Sphere] (10, 10, 10)->Radius: 5 Diameter: 10
[Sphere] (6, 6, 6)->Radius: 3 Diameter: 6
Scaled Polyhedra (Clones)
------------------------------------------------------
[Sphere] (4, 4, 4)->Radius: 2 Diameter: 4
[Cylinder] (4, 4, 4)->Radius: 2 Height: 4
[Sphere] (16, 16, 16)->Radius: 8 Diameter: 16
[Cylinder] (12, 12, 4)->Radius: 6 Height: 4
[Composite] (28, 28, 28)->3 polyhedra
[Sphere] (12, 12, 12)->Radius: 6 Diameter: 12
[Sphere] (20, 20, 20)->Radius: 10 Diameter: 20
[Sphere] (28, 28, 28)->Radius: 14 Diameter: 28
[Composite] (20, 20, 20)->2 polyhedra
[Cylinder] (8, 8, 2)->Radius: 4 Height: 2
[Sphere] (20, 20, 20)->Radius: 10 Diameter: 20
[Sphere] (12, 12, 12)->Radius: 6 Diameter: 12
your task is
1. Acquire complete versions of Cylinder.h
and Cylinder.cpp
from Part 1. You may use my Part 1 solution, or your own solution.
- Complete
add
,display
, andscale
functions for Composite. - Complete the Big-3 for
Composite
- Note that the Composite::allPolyhedra attribute, is a
vector
of pointers (std::vector<Polyhedron*>
). - I was feeling generous and provided you the
Composite::operator=
method (I used the copy-and-swap idiom). This leaves you with the Copy Constructor and Destructor (2 of the Big-3).
- Note that the Composite::allPolyhedra attribute, is a
If you implemented everything in Composite
correctly you will see:
PASSED->testDefaultConstructor
PASSED->testAdd
PASSED->testClone
PASSED->testRead
PASSED->testScale
PASSED->testDisplay
If you see FAILED you must revisit revisit the corresponding function(s).
Many students forget to scale the bounding boxes. This can be done using the BoundingBox::scale
or Polyhedron::scale
functions.
- 2 years ago
- 35
Answer(0)
other Questions(10)
- Critical Review (Professor’s Choice: My Own Private Idaho, 1991; Directed by Gus Van Sant or Boys Don’t Cry, 1998; Directed by Kimberly Pierce)
- Measureables
- Please fill out the Memory Worksheet according to its' instructions and please only original work with references as needed
- Statistics w2d1
- English work 2: 24 to 30 hours : 4 pages
- Question
- Analyze Cost Behavior and Calculate Breakeven Analyses-SMH Hospital
- MKTG600 Midterm
- Mapping at a crime scene
- Social Science Discussion