double のプライベート ベクトルを持つクラスがあります。これらの値にアクセスまたは変更するには、最初に次のような方法を使用しました
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;
}
ここで、プライベートな classA 要素を持つ classB があり、読み取りと書き込みを行う get メソッドと set メソッドもあるとします。問題は、classA の終了ベクトルに値をプッシュバックしようとしたときでした。
void classB::setFirstValue(double first)
{
this->getClassA().getVector().push_back(first);
}
これはベクトルに対してまったく何もしません。変更されていないままで、理由がわかりません... 何かアイデアはありますか?