27 lines
629 B
C++
27 lines
629 B
C++
#include "polymorphism.hpp"
|
|||
|
|
|
||
|
|
namespace oop {
|
||
|
|
|
||
|
|
auto total_area(const std::vector<std::unique_ptr<Shape>>& shapes) -> double {
|
||
|
|
double total = 0.0;
|
||
|
|
for (const auto& shape : shapes) {
|
||
|
|
// TODO: Add each shape's area using polymorphism
|
||
|
|
(void)shape;
|
||
|
|
}
|
||
|
|
return total;
|
||
|
|
}
|
||
|
|
|
||
|
|
auto shape_names(const std::vector<std::unique_ptr<Shape>>& shapes)
|
||
|
|
-> std::vector<std::string> {
|
||
|
|
std::vector<std::string> names;
|
||
|
|
for (const auto& shape : shapes) {
|
||
|
|
// TODO: Collect shape->name()
|
||
|
|
(void)shape;
|
||
|
|
}
|
||
|
|
return names;
|
||
|
|
}
|
||
|
|
|
||
|
|
auto Counter::copies() -> int { return copies_; }
|
||
|
|
|
||
|
|
} // namespace oop
|