【发布时间】:2020-08-29 03:40:31
【问题描述】:
当我尝试使用多态性输出“刹车”类字符串类型的材质时,它无法正确打印。我相信这个问题与我实例化一个新的派生对象有关。如何将具有数据成员的派生对象填充到 C++ 中基类的指针数组中?对不起,如果代码格式错误,如果我没有提供足够的信息,这是我第一次来这里。
在 main() 中:
Parts *partsList = new Parts[arrayCount];
函数调用:
populateArrayBrakes(&partsList,tokens,element);
用数据填充数组的函数:
void populateArrayBrakes(Parts *partsList[], string tokens[], int element){
partsList[element] = new Brakes(tokens[1],tokens[2]...);
}
但由于某种原因,当我使用多态性输出时,输出中有空格并且材料错误(第一个材料应该是“合成混合”):
brakes material: 1 Organic
brakes material: 2 Organic
brakes material: 3 Organic
brakes material: 4 Ceramic
brakes material: 5 Ceramic
brakes material: 6 Ceramic
brakes material: 7 Ceramic
brakes material: 8 Ceramic
brakes material: 9
brakes material: 10 Ceramic
brakes material: 11 Carbon Metallic
brakes material: 12
Process returned -1073741819 (0xC0000005) execution time : 1.425 s
Press any key to continue.
【问题讨论】:
标签: c++ arrays polymorphism