我开始从Python来的C++,所以我几乎只是滚动浏览基础知识。当我尝试使用其中的对象创建一个数组时,会发生问题。在Python我会与属性color
和year
一类车:如何在C++中创建可迭代的对象列表?
myCars = [Car("Red", 1986), Car("Black", 2007), Car("Blue", 1993)]
# and then going through the cars:
for car in myCars:
print("The car has the color " + car.color + " and is " + (2014 - car.year) + " years old.")
试图做C++类似的东西:
struct Car {
string color;
int year;
};
int cars[3] = {Car cars[0], Car cars[1], Car cars[2]}
//EDIT: I wrote bilar but I meant cars.
,但它确实是无趣遍历这些车,作为一,这不起作用,其次,他们没有任何属性。我只是不明白,我想也许我已经错过了一些重要的东西,并且弄错了所有的错误,但是我认为我必须把这个解释得干干净净,很好。
当您使用'INT比拉尔[3]'你正在创建一个整数数组。你需要使用'Car bilar [3]'。 – IanAuld 2014-11-21 19:07:36
@IanAuld这听起来合乎逻辑,我想知道这些类型......但是,那么如何将任何值赋给'car [x]'?我是否必须为每个任务写一个'car [2] .color =“Red”'等等。 – PhP 2014-11-21 19:21:19
您可以像使用Python一样在C++中创建构造函数,以便您可以执行'Car my_car = Car('Red','2007');'。我自己是一个Python人,我的C++有点生疏,所以我不记得如何去做。 – IanAuld 2014-11-21 19:23:56