Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 动态绑定几个_C++_Dynamic Binding - Fatal编程技术网

C++ 动态绑定几个

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 希望有人能

嗨,专家们,我可以这样做动态绑定吗。 objshapes是名为Shape的父类,Rectangle是子类。我有几个子类,因此根据用户选择的形状,我需要将正确的形状绑定到ObjShape。所以我想我可以这样捆绑。但我发现了一个错误

 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)