C++ 动态绑定几个
嗨,专家们,我可以这样做动态绑定吗。 objshapes是名为Shape的父类,Rectangle是子类。我有几个子类,因此根据用户选择的形状,我需要将正确的形状绑定到ObjShape。所以我想我可以这样捆绑。但我发现了一个错误C++ 动态绑定几个,c++,dynamic-binding,C++,Dynamic Binding,嗨,专家们,我可以这样做动态绑定吗。 objshapes是名为Shape的父类,Rectangle是子类。我有几个子类,因此根据用户选择的形状,我需要将正确的形状绑定到ObjShape。所以我想我可以这样捆绑。但我发现了一个错误 Shape *objShapes[3]; objshapes[size]= &new Rectangle(3,lvaule,5) //error: lvalue required as unary ‘&’ operand 希望有人能
Shape *objShapes[3];
objshapes[size]= &new Rectangle(3,lvaule,5)
//error: lvalue required as unary ‘&’ operand
希望有人能帮忙。谢谢
这是正确的吗
objshapes[size]= new Rectangle(3,lvaule,5)
objshapes[size]= new Rectangle(3,lvaule,5)
您需要一个指向基类的指针数组或容器。例如:
std::vector<Shape*> objshapes;
objshapes.push_back(new Rectangle(3,lvaule,5));
objshapes.push_back(new Circle( args));
这将objshapes声明为一个包含3个指向Shape的指针的数组
这是不理智的
这是正确的吗
objshapes[size]= new Rectangle(3,lvaule,5)
objshapes[size]= new Rectangle(3,lvaule,5)
是的,没错new
返回指向矩形的指针,该指针可以存储在指向形状的指针类型的变量中。因为objshapes
是指向形状的指针数组objshapes[size]
是指向形状的指针——可以接受指向矩形的指针
一,。假设
size
可转换为整数类型,并且具有值0
、1
、或2
,我编辑了我的问题,并给出了一个正确答案。@rasul1719435然后使用另一个容器类型或数组。@rasul1719435您的问题表明objshapes
包含形状,这与您的答案不一致。请发布objshapes
@Rob的声明ᵩ 我不知道你说的“动态绑定”是什么意思。示例代码中没有绑定。
objshapes[size]= new Rectangle(3,lvaule,5)