C++,带指针的结构,创建第一个对象
C++, struct with pointers, create first object
我有以下结构Car:
struct Car {
public:
integer number;
Car *down, *right;
Car(double a, Car b, Car f): number(a), right(&f){}
};
例如,我想建立一个类似汽车链的模型,每辆车都有一个指向下一辆车的指针。我的问题是,第一辆车应该指向任何地方,指向NULL。(可变数字与汽车在链条中的位置无关)。我试过这样的东西:
Car* first = new Car(23421,NULL);
car.cpp:39:35:错误:对"car::car(int,NULL)"的调用没有匹配的函数car.cpp:39:35:注意:候选人是:car.cpp:28:3:注意:car::car(int,car)car.cpp:28:3:注意:参数2没有从"int"到"car"的已知转换car.cpp:24:8:注意:car::car(const car&)car.cpp:24:8:注意:候选者需要1个参数,提供2个
我怎么能指向一个无处可去的地方?
您应该声明一个Car变量并将指针成员赋值为NULL。这应该在默认构造函数中完成,这样您就不必每次都手动执行。
Car mycar;
mycar.down =NULL;
mycar.right =NULL;
比,以后你可以随心所欲地用链条拴住你的车:
mycar.down = mySecondCar;
mycar.right = myThirdCar;
此构造函数
Car(double a, Car b, Car f): number(a), right(&f){}
无效。可以使用指向局部变量的指针。按照以下方式更改构造函数
Car(double a, Car *b, Car *f): number(a), right(f){}
相关文章:
- 如何创建一个对象创建函数,该函数将由与其关联的名称调用?
- 我如何仅一次或一次创建一个对象
- 为什么我们需要在堆中创建一个对象
- 我是否要创建一个对象来使用C 中的类方法
- 在C 中,您可以创建一个对象作为arg function
- 在矢量内创建一个对象,该对象由另一个对象包含
- 在c++中有条件地创建一个对象
- Qt C++根据组合框中的选择创建一个对象
- 如果对象尚未在集合中,则创建一个对象
- 在一个线程中创建一个对象,并使用std :: Atomic访问另一个对象
- 如果我在析构函数中创建一个对象,会发生什么
- 而不是在 lua 中创建一个对象,如何让 lua 直接高C++对象来启动方法?
- 销毁和重新创建一个对象会使指向该对象的所有指针无效吗
- C++:创建一个对象数组
- 我想在我的main中为下面的代码创建一个对象..那么我该怎么做呢
- 自定义内存管理,用于在文件中每行创建一个对象
- 是否可以在一个对象中创建一个对象,该对象的构造函数是在c++中创建它的对象
- 从另一个字符串向量创建一个对象向量
- 我必须创建一个对象来调用类方法吗?或者我可以只键入类名吗
- 用c++中的模板创建一个对象