我有一個抽象類,例如一個類表示一個幾何形狀。我將從Shape
繼承具體的類,如矩形和三角形。C++ - 一個抽象類的迭代器
我想遍歷一個形狀組成的點(另一個類),所以Shape
必須爲它提供一個接口。 迭代應該以這種方式:
for(Point p : shapeObject){ ... some code}
但我不希望Shape
類,以確定孩子上課用什麼容器。例如,矩形將具有一個std::array<Point, 4>
容器,而三角形將具有一個std::array<Point, 3>
容器。
所以我的問題在於,什麼是最優雅的C++方式來做到這一點?
你可以看看(或直接使用)['any_range'](http://www.boost.org/doc/libs/1_61_0/libs/range/doc/html /range/reference/ranges /any_range.html)和Boost的'any_iterator'。 – Angew