MCPcopy Create free account
hub / github.com/Apress/beginning-cpp20 / herd

Method herd

Exercises/Modules/Chapter 15/Soln15_04/Zoo.cpp:29–41  ·  view source on GitHub ↗

Collect all Sheep in the Zoo using dynamic cast (the recommended way)

Source from the content-addressed store, hash-verified

27
28// Collect all Sheep in the Zoo using dynamic cast (the recommended way)
29std::vector<Sheep*> Zoo::herd() const
30{
31 std::vector<Sheep*> sheep;
32 for (auto animal : m_animals)
33 {
34 auto* casted{ dynamic_cast<Sheep*>(animal.get()) };
35 if (casted)
36 {
37 sheep.push_back(casted);
38 }
39 }
40 return sheep;
41}
42
43/*
44// Collect all Sheep in the Zoo using the typeid() operator and a static cast

Callers 1

mainFunction · 0.45

Calls 2

getMethod · 0.80
push_backMethod · 0.45

Tested by

no test coverage detected