【发布时间】:2014-06-07 15:06:15
【问题描述】:
我是一名 C++ 学生,在理解和完成我的这部分作业时需要一些帮助。
我有一个SalesItem 对象的向量:
class Invoice
{
public:
//blabla
vector<SalesItem> *getSalesItems(); //code provided by the assignment.
private:
{
//blabla
vector<SalesItem> salesItems;
};
我需要返回那个向量作为参考:
void Invoice::getSalesItems() //error on this line. Code provided by assignment.
{
return salesItems; //error on this line.
}
现在,我知道那些给我错误的东西显然是错误的,我什至没有任何指针或引用。我发布这几行代码只是作为我希望看到的示例(或者更实际地,对我有意义的示例。)
我想要一个 get 函数,它可以像其他 get 函数一样工作,用于 int 或 string 等类型,除了这个必须通过引用返回(根据分配的要求)。
不幸的是,我对向量和引用的理解不足以解决这个问题,而且我没有任何教育资源可以帮助我解决这个问题。如果有人可以帮助我了解该怎么做,我将不胜感激。
我们很乐意提供任何额外的信息。
【问题讨论】:
-
vector<SalesItem> *getSalesItems();返回一个指针而不返回一个引用。void Invoice::getSalesItems()不返回任何内容。类中的函数定义和声明必须一致:vector<SalesItem> & getSalesItems();通过引用返回一个向量。
标签: c++ pointers vector reference header-files