所有,我有一个对象容器,例如,
class ShapeBase {};
class Rect: public Shape {
void set(class Diag diag);
};
class Circle: public Shape {
void set(class Radi radi);
};
现在我有一个应用程序类来调用这个形状列表。我的意图是仅根据参数类型调用列表元素。
像这样的东西。
class application {
typedef std::list<ShapeBase*> List;
List shapeList;
void set(class ???) {
for (List::iterator it = shapeList.begin(); it != shapeList.end(); ++it)
{
// with in the loop of all objects in list,
// only object with matching argument will be called
set(class ???);
};
所以应用程序类根本不知道具体的形状。
如何在 C++ 中做到这一点?