C++で配列のオブジェクトに値を割り当てる方法は?
C++では、オブジェクトの配列にはループを使って値を代入することができます。各配列要素を初期化するには、コンストラクタまたは代入演算子を使用できます。次に、簡単な例を示します。
#include <iostream>
class MyObject {
public:
int value;
MyObject() {
value = 0;
}
MyObject(int val) {
value = val;
}
MyObject& operator=(const MyObject& other) {
if (this != &other) {
value = other.value;
}
return *this;
}
};
int main() {
const int ARRAY_SIZE = 5;
MyObject array1[ARRAY_SIZE];
MyObject array2[ARRAY_SIZE];
// 使用构造函数初始化数组元素
for (int i = 0; i < ARRAY_SIZE; i++) {
array1[i] = MyObject(i);
}
// 使用赋值运算符复制数组元素
for (int i = 0; i < ARRAY_SIZE; i++) {
array2[i] = array1[i];
}
// 打印数组元素的值
for (int i = 0; i < ARRAY_SIZE; i++) {
std::cout << array2[i].value << " ";
}
std::cout << std::endl;
return 0;
}
上の例では、MyObjectという名前のクラスを定義し、それにはvalueメンバ変数が含まれています。オブジェクトの初期化にはデフォルトコンストラクタと引数付きコンストラクタを使用し、オブジェクトの代入には代入演算子を使用します。main関数では、2つのオブジェクト配列array1とarray2を作成し、ループを使用して要素に値を割り当てます。最後に、array2の要素値を表示して、代入が成功したかどうかを確認します。