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

Method herd

Exercises/NoModules/Chapter 15/Soln15_04/Zoo.cpp:27–39  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

25
26// Collect all Sheep in the Zoo using dynamic cast (the recommended way)
27std::vector<Sheep*> Zoo::herd() const
28{
29 std::vector<Sheep*> sheep;
30 for (auto animal : m_animals)
31 {
32 auto* casted{ dynamic_cast<Sheep*>(animal.get()) };
33 if (casted)
34 {
35 sheep.push_back(casted);
36 }
37 }
38 return sheep;
39}
40
41/*
42// 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