我有一个带有双打私有向量的类。为了访问或修改这些值,起初我使用了诸如
void classA::pushVector(double i)
{
this->vector.push_back(i);
}
double classA::getVector(int i)
{
return vector[i];
}
这工作了一段时间,直到我发现我必须为我需要的东西重载很多运算符,所以我尝试更改它以直接获取和设置向量而不是值,即
void classA::setVector(vector<double> vector)
{
this->vector = vector;
}
vector<double> classA::getVector()
{
return vector;
}
现在,假设有一个 classB,它有一个私有的 classA 元素,它也有 get 和 set 方法来读写。问题是当我试图将一个值推回 classA 中的结束向量时。
void classB::setFirstValue(double first)
{
this->getClassA().getVector().push_back(first);
}
这对向量绝对没有任何作用。它保持不变,我不知道为什么......有什么想法吗?