#include <iostream>
#include <vector>
#include <string>
// 構造体の定義
struct MyStruct {
std::string name;
std::string description;
};
class MyClass {
public:
// vectorを参照渡しで変更するメソッド
void modifyVector() {
// vectorの要素を変更する例として、全てのdescriptionに"_updated"を追加する操作を行う
for (MyStruct& item : items_) {
item.description += "_updated";
}
}
// vectorの要素を追加するメソッド
void addItem(const MyStruct& item) {
items_.push_back(item);
}
// vectorの内容を表示するメソッド
void displayItems() const {
for (const MyStruct& item : items_) {
std::cout << "Name: " << item.name << ", Description: " << item.description << std::endl;
}
}
private:
std::vector<MyStruct> items_;
};
int main() {
MyClass myClass;
// MyClassのメソッドを使ってvectorに要素を追加
myClass.addItem({"item1", "description1"});
myClass.addItem({"item2", "description2"});
myClass.addItem({"item3", "description3"});
std::cout << "Before modification:" << std::endl;
myClass.displayItems();
// MyClassのメソッドを使ってvectorを変更
myClass.modifyVector();
std::cout << "After modification:" << std::endl;
myClass.displayItems();
return 0;
}