[编辑 1 - 添加了第三个指针语法(感谢 Alex)]
对于 DAL,您更喜欢哪种方法以及为什么:
Car& DAL::loadCar(int id) {}
bool DAL::loadCar(int id, Car& car) {}
Car* DAL::loadCar(int id) {}
如果找不到车第一种方法返回null,第二种方法返回false。
第二种方法将在堆上创建一个 Car 对象并填充从数据库查询的数据。大概(我的 C++ 非常生锈)这意味着代码如下:
Car& DAL::loadCar(int id)
{
Car *carPtr = new Car();
Car &car= *carPtr;
car.setModel(/* value from database */);
car.setEngineSize(/* value from database */);
// etc
return car;
}
谢谢