-4
私は簡単な質問があります。私のクラスにvector
の他のクラスオブジェクトがあり、そのオブジェクトの1つにあるメソッドにアクセスしたいが、[]
オペレータを使用しないメソッドにアクセスするにはどうすればよいですか? g++
は私にこれを与え、オブジェクトからメソッドへのアクセス
#include <iostream>
#include <vector>
class Sample
{
int label;
std::vector<int> int_vector;
public:
int getLabel()
{
return label;
}
void writeDown()
{
int i=0;
for(auto it=int_vector.begin(); it!=int_vector.end();it++,i++)
{
std::cout<<(*it)<<std::endl;
}
}
Sample(int label, int tab[10])
{
int i=0;
this->label=label;
for(int i=0; i<10; i++)
{
int_vector.push_back(tab[i]);
}
}
~Sample()
{
std::cout<<"Object has been removed"<<std::endl;
}
};
class Dataset
{
public:
std::vector<Sample *> vectorOfSamples;
Dataset(Sample *sample)
{
vectorOfSamples.push_back(sample);
}
};
int main(int argc, char** argv)
{
int tab[10] = {1,2,3,4,5,6,7,8,9,10};
Sample sample(5,tab);
Dataset dataset(&sample);
for (int i=0; i<5; i++)
{
dataset.vectorOfSamples.push_back(new Sample(i, tab));
}
for (auto it=dataset.vectorOfSamples.begin(); it!=dataset.vectorOfSamples.end(); it++)
{
std::cout<<it.getLabel()<<std::endl;
}
return 0;
}
とするとき、私はそれを実行します:it->getLabel()
にそれを変更する
は私にこれを与える:
私はこのようなコードを持っていますどうすれば動作させることができますか?
質問にスクリーンショットを投稿しないでください。代わりに、エラーメッセージをコピーして貼り付けます。 –
'cmd'からどのようにコピー&ペーストできますか? – Frynio
@LogicStuff私はあなたの最初の作品は思えません。 ' - >'は '*'より優先度が高くなります。 –