练习程序在尝试学习指针时崩溃
Practice program crashing when trying to learn pointers
我仍在掌握指针的过程中,并在此过程中编写了一个快速无意义的程序,以便练习查找指针错误。我对此示例代码崩溃的原因感到困惑:
#include <iostream>
class VehiclePart
{
public:
VehiclePart(int);
int GetVehiclePartNumber();
private:
int partNumber;
};
VehiclePart::VehiclePart(int VehiclePartNumber)
{
partNumber = VehiclePartNumber;
}
int VehiclePart::GetVehiclePartNumber()
{
return partNumber;
}
class Vehicle
{
public:
Vehicle(VehiclePart* VehiclePart, int VehiclePartNumber);
int GetVehiclePartNumber();
private:
VehiclePart* vehiclePart;
};
Vehicle::Vehicle(VehiclePart* vehiclePart, int VehiclePartNumber)
{
vehiclePart = new VehiclePart(VehiclePartNumber);
}
int Vehicle::GetVehiclePartNumber()
{
return vehiclePart->GetVehiclePartNumber();
}
int main()
{
VehiclePart* hood = nullptr;
Vehicle car(hood, 6);
std::cout << "Hello" << std::endl;
std::cout << car.GetVehiclePartNumber();
return 0;
}
我知道有更好的方法来做事,就像我说的,这只是练习让我习惯指针以及为什么会发生崩溃。任何帮助,不胜感激。
Vehicle::Vehicle(VehiclePart* vehiclePart, int VehiclePartNumber)
{
请注意,构造函数有一个名为 vehiclePart
的参数。因此
vehiclePart = new VehiclePart(VehiclePartNumber);
这最终会将构造函数的参数设置为new
ed 类实例,而不是同名的类成员。
这与指针无关,但与范围界定有关。
相关文章:
- 为什么要增加导致崩溃的指针
- 指针相关的UE4崩溃.我的指针哪里错了?
- 访问提升:shared_ptr 主范围外崩溃,断言失败:px != 0.指针的正确用法是什么?
- 当键是虚拟继承中涉及的基类指针时,对 std::unordered_map 项的访问崩溃
- 由于指针算法错误,代码在 memcpy 中崩溃
- 使用唯一指针调用函数会使我的程序崩溃
- 智能指针的排序向量:神秘崩溃
- 类指针方法崩溃程序
- 在C++中删除指针数组时析构函数崩溃
- 使用push_back方法获取智能指针矢量时应用崩溃
- 为什么此代码在此 Trie 实现中使用映射 c++ 中的指针崩溃?
- 从 GetProcAddress 获取的函数指针在使用 stdlib 时会使程序崩溃
- 在函数内部错误定位后,从函数中释放返回的指针会导致芯片崩溃
- 为什么此自定义指针类会崩溃?
- 为什么要删除指针崩溃wchar_t?
- C 指针崩溃(非初始化)
- 删除时指针崩溃无效,但指针不同
- 指向向量元素的指针崩溃
- 函数作用域中的指针崩溃
- 为什么指针崩溃所指向的数据会增加