クラスオブジェクトをvectorに保存する方法は、C++ではどのように行うのですか?
クラスオブジェクトをベクトルに保存するには、まずクラスを定義する必要があります。そして、push_back()関数を使用してクラスオブジェクトをベクトルに追加することができます。
以下はサンプルコードです:
#include <iostream>
#include <vector>
class MyClass {
public:
MyClass(int value) : m_value(value) {}
int getValue() const {
return m_value;
}
private:
int m_value;
};
int main() {
std::vector<MyClass> myVector;
// 创建类对象并添加到vector中
MyClass obj1(1);
myVector.push_back(obj1);
MyClass obj2(2);
myVector.push_back(obj2);
MyClass obj3(3);
myVector.push_back(obj3);
// 遍历vector并访问类对象的值
for (const auto& obj : myVector) {
std::cout << obj.getValue() << " ";
}
return 0;
}
上記のコードでは、MyClassというクラスを定義しており、プライベートメンバ変数m_valueとパブリックメンバ関数getValue()を持っています。そして、MyClassのオブジェクトを3つ作成し、それらをmyVectorベクターにpush_back()関数を使って追加しました。最後に、myVectorをループで処理して各クラスオブジェクトの値にアクセスし、出力結果は”1 2 3″となります。