C++ 使用循环创建类对象
我创建了一个包含公共、私有和受保护变量的类电梯。还有,我写了一些方法。现在有一个问题,我如何用对象简化这些代码行C++ 使用循环创建类对象,c++,class,methods,C++,Class,Methods,我创建了一个包含公共、私有和受保护变量的类电梯。还有,我写了一些方法。现在有一个问题,我如何用对象简化这些代码行 int main() { Elevator ElevatorObject("NAME", 2, 3, 4, 5); ElevatorObject.get_name(); ElevatorObject.get_loadCapacity(); ElevatorObject.get_MotorPower(); ElevatorObject.get_h
int main()
{
Elevator ElevatorObject("NAME", 2, 3, 4, 5);
ElevatorObject.get_name();
ElevatorObject.get_loadCapacity();
ElevatorObject.get_MotorPower();
ElevatorObject.get_height();
ElevatorObject.get_witdth();
Elevator ElevatorObject1("NONAME", 5, 4, 3, 2);
ElevatorObject1.get_name();
ElevatorObject1.get_loadCapacity();
ElevatorObject1.get_MotorPower();
ElevatorObject1.get_height();
ElevatorObject1.get_witdth();
system("pause");
return 0;
}
我想把所有需要的对象名放入一个字符串数组,然后在循环中实现它。但是,对象参数中会有相同的值
像这样
string ObjectName[3] = { "ElevatorObject1", "ElevatorObject2", "ElevatorObject3" };
int main()
{
string ObjectName[3] = { "ElevatorObject1", "ElevatorObject2", "ElevatorObject3" };
for (int i = 0; i < 3; i++)
{
Elevator ObjectName[i]("NEMA", 2, 3, 4, 5);
ObjectName[i].get_name();
ObjectName[i].get_loadCapacity();
ObjectName[i].get_MotorPower();
ObjectName[i].get_height();
ObjectName[i].get_witdth();
}
system("pause");
return 0;
}
string ObjectName[3]={“ElevatorObject1”、“ElevatorObject2”、“ElevatorObject3”};
int main()
{
字符串ObjectName[3]={“ElevatorObject1”、“ElevatorObject2”、“ElevatorObject3”};
对于(int i=0;i<3;i++)
{
电梯对象名称[i](“NEMA”,2、3、4、5);
ObjectName[i]。获取_name();
ObjectName[i]。获取_加载容量();
ObjectName[i]。get_MotorPower();
ObjectName[i]。获取高度();
ObjectName[i]。get_Width();
}
系统(“暂停”);
返回0;
}
出现错误“C2131表达式必须具有常量值”。
也许我在某个地方犯了错误…这句话毫无意义:
Elevator ObjectName[i]("NEMA", 2, 3, 4, 5);
你打电话的意思好像是这样的:
Elevator "ElevatorObject1"("NEMA", 2, 3, 4, 5);
这显然是行不通的。相反,您可能想提供以下名称:
Elevator elevator(ObjectName[i], 2, 3, 4, 5);
创建的变量的名称应该完全是其他名称
您可能想创建一个
std::vector
或std::array
您可以在每次创建新的电梯
对象时将推回
。电梯对象名[i](“NEMA”,2,3,4,5)
这意味着您正试图为每个大小为i
ElevatorObject.get_name()的循环创建一个新数组代码>很奇怪。你是说,print\u name()
,input\u name()
?@johnnymapp已修复。谢谢