Loading...
Searching...
No Matches
geometry Namespace Reference

Classes

class  Circle
 A circle defined by its radius. More...
 
class  Rectangle
 A rectangle defined by width and height. More...
 
class  Shape
 Abstract base class for all 2D shapes. More...
 
class  Square
 A square — a special case of Rectangle where width equals height. More...
 
class  Triangle
 A triangle defined by its three side lengths. More...
 

Functions

std::vector< std::unique_ptr< Shape > > make_demo_shapes ()
 Create a container of example shapes for demonstration.
 

Function Documentation

◆ make_demo_shapes()

std::vector< std::unique_ptr< Shape > > geometry::make_demo_shapes ( )
inline

Create a container of example shapes for demonstration.

Returns
A vector of unique pointers to various shapes.

Example usage:

for (const auto& s : shapes) {
std::cout << s->describe() << "\n";
}
std::vector< std::unique_ptr< Shape > > make_demo_shapes()
Create a container of example shapes for demonstration.
Definition shapes.hpp:243

Definition at line 243 of file shapes.hpp.

243 {
244 std::vector<std::unique_ptr<Shape>> shapes;
245 shapes.push_back(std::make_unique<Circle>(5.0));
246 shapes.push_back(std::make_unique<Rectangle>(4.0, 6.0));
247 shapes.push_back(std::make_unique<Square>(3.0));
248 shapes.push_back(std::make_unique<Triangle>(3.0, 4.0, 5.0));
249 return shapes;
250}