我有一个抽象类,例如一个代表几何形状的类。我将有从 继承的具体类Shape,例如矩形和三角形。
我想遍历一个形状所组成的点(另一个类),因此Shape必须为其提供一个接口。迭代应该是这样的:
for(Point p : shapeObject){ ... some code}
Run Code Online (Sandbox Code Playgroud)
但我不希望Shape该类为子类确定要使用的容器。例如,矩形将有一个std::array<Point, 4>容器,而三角形将有一个std::array<Point, 3>容器。
所以我的问题是,最优雅的 C++ 方法是什么?