/*IntArray.h*/
#ifndef INTARRAY_H_
#define INTARRAY_H_
class IntArray {
public:
//コンストラクタ
IntArray(int size);
//デストラクタ
~IntArray();
//コピーコンストラクタ
IntArray(const IntArray& other);
//メンバへのアクセス関数(取得)
int Get(int i);
//メンバへのアクセス関数(変更)
void Set(int i,
int value
);
//配列のサイズを返す
int Size();
//インデックスのチェック
void CheckIndex(int i);
//代入演算子のオーバーロード
void operator=(const IntArray& other);
private:
//動的配列
int* m_array;
//配列の要素数
int m_size;
};
#endif
/*IntArray.cpp*/
#include"IntArray.h"
#include<iostream>
#include<cstdlib>
using namespace std;
IntArray::IntArray(int size) {
m_array = new int[size];
m_size = size;
//fill_nは指定子たデータで配列などを埋める関数
fill_n(m_array, m_size, 0);
cout << "コンストラクタが呼ばれました。"
<< "要素数は " << m_size << "です。" << endl;
}
IntArray::~IntArray() {
delete[] m_array;
cout << "デストラクタが呼ばれました。"
<< "要素数は " << m_size << "でした。" << endl;
}
IntArray::IntArray(const IntArray& other) {
m_array = new int[other.m_size];
m_size = other.m_size;
copy(other.m_array, other.m_array + m_size, m_array);
cout << "コピーコンストラクタが呼ばれました。" << endl;
}
int IntArray::Size() {
return m_size;
}
int IntArray::Get(int i) {
CheckIndex(i);
return m_array[i];
}
void IntArray
::Set(int i,
int value
) { CheckIndex(i);
m_array[i] = value;
}
void IntArray::CheckIndex(int i) {
if (0 <= i && i < m_size) {
//インデックスは正常
}
else {
cout << "インデックスが不正です!" << endl
<< "値 : " << i << endl;
exit(EXIT_FAILURE);
}
}
void IntArray::operator=(const IntArray& other) {
int* array = new int[other.m_size];
delete[]m_array;
m_array = array;
m_size = other.m_size;
copy(other.m_array, other.m_array + m_size, m_array);
}
/*Operator.cpp*/
#include<iostream>
#include"IntArray.h"
using namespace std;
int main()
{
IntArray a(5);
IntArray b(5);
//に値を入力していく
for (int i = 0; i < a.Size(); i++) {
int n;
cin >> n;
}
//bにコピーして各値を2倍する
b.operator=(a);
for (int i = 0, size = b.Size(); i < size; i++) {
}
for (int i = 0, size = a.Size(); i < size; i++) {
cout << a.Get(i) << " -> " << b.Get(i) << endl;
}
}
LypJbnRBcnJheS5oKi8KI2lmbmRlZiBJTlRBUlJBWV9IXwojZGVmaW5lIElOVEFSUkFZX0hfCgpjbGFzcyBJbnRBcnJheSB7CnB1YmxpYzoKCS8v44Kz44Oz44K544OI44Op44Kv44K/CglJbnRBcnJheShpbnQgc2l6ZSk7CgoJLy/jg4fjgrnjg4jjg6njgq/jgr8KCX5JbnRBcnJheSgpOwoKCS8v44Kz44OU44O844Kz44Oz44K544OI44Op44Kv44K/CglJbnRBcnJheShjb25zdCBJbnRBcnJheSYgb3RoZXIpOwoKCS8v44Oh44Oz44OQ44G444Gu44Ki44Kv44K744K56Zai5pWwKOWPluW+lykKCWludCBHZXQoaW50IGkpOwoKCS8v44Oh44Oz44OQ44G444Gu44Ki44Kv44K744K56Zai5pWwKOWkieabtCkKCXZvaWQgU2V0KGludCBpLCBpbnQgdmFsdWUpOwoKCS8v6YWN5YiX44Gu44K144Kk44K644KS6L+U44GZCglpbnQgU2l6ZSgpOwoKCS8v44Kk44Oz44OH44OD44Kv44K544Gu44OB44Kn44OD44KvCgl2b2lkIENoZWNrSW5kZXgoaW50IGkpOwoKCS8v5Luj5YWl5ryU566X5a2Q44Gu44Kq44O844OQ44O844Ot44O844OJCgl2b2lkIG9wZXJhdG9yPShjb25zdCBJbnRBcnJheSYgb3RoZXIpOwoKcHJpdmF0ZToKCS8v5YuV55qE6YWN5YiXCglpbnQqIG1fYXJyYXk7CgoJLy/phY3liJfjga7opoHntKDmlbAKCWludCBtX3NpemU7Cn07CgojZW5kaWYKCgovKkludEFycmF5LmNwcCovCiNpbmNsdWRlIkludEFycmF5LmgiCiNpbmNsdWRlPGlvc3RyZWFtPgojaW5jbHVkZTxjc3RkbGliPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKSW50QXJyYXk6OkludEFycmF5KGludCBzaXplKSB7CgltX2FycmF5ID0gbmV3IGludFtzaXplXTsKCW1fc2l6ZSA9IHNpemU7CgoJLy9maWxsX27jga/mjIflrprlrZDjgZ/jg4fjg7zjgr/jgafphY3liJfjgarjganjgpLln4vjgoHjgovplqLmlbAKCWZpbGxfbihtX2FycmF5LCBtX3NpemUsIDApOwoKCWNvdXQgPDwgIuOCs+ODs+OCueODiOODqeOCr+OCv+OBjOWRvOOBsOOCjOOBvuOBl+OBn+OAgiIKCQk8PCAi6KaB57Sg5pWw44GvICIgPDwgbV9zaXplIDw8ICLjgafjgZnjgIIiIDw8IGVuZGw7Cn0KCkludEFycmF5Ojp+SW50QXJyYXkoKSB7CglkZWxldGVbXSBtX2FycmF5OwoKCWNvdXQgPDwgIuODh+OCueODiOODqeOCr+OCv+OBjOWRvOOBsOOCjOOBvuOBl+OBn+OAgiIKCQk8PCAi6KaB57Sg5pWw44GvICIgPDwgbV9zaXplIDw8ICLjgafjgZfjgZ/jgIIiIDw8IGVuZGw7Cn0KCkludEFycmF5OjpJbnRBcnJheShjb25zdCBJbnRBcnJheSYgb3RoZXIpIHsKCW1fYXJyYXkgPSBuZXcgaW50W290aGVyLm1fc2l6ZV07CgltX3NpemUgPSBvdGhlci5tX3NpemU7CgoJY29weShvdGhlci5tX2FycmF5LCBvdGhlci5tX2FycmF5ICsgbV9zaXplLCBtX2FycmF5KTsKCgljb3V0IDw8ICLjgrPjg5Tjg7zjgrPjg7Pjgrnjg4jjg6njgq/jgr/jgYzlkbzjgbDjgozjgb7jgZfjgZ/jgIIiIDw8IGVuZGw7Cn0KCmludCBJbnRBcnJheTo6U2l6ZSgpIHsKCXJldHVybiBtX3NpemU7Cn0KCmludCBJbnRBcnJheTo6R2V0KGludCBpKSB7CglDaGVja0luZGV4KGkpOwoJcmV0dXJuIG1fYXJyYXlbaV07Cn0KCnZvaWQgSW50QXJyYXk6OlNldChpbnQgaSwgaW50IHZhbHVlKSB7CglDaGVja0luZGV4KGkpOwoJbV9hcnJheVtpXSA9IHZhbHVlOwp9Cgp2b2lkIEludEFycmF5OjpDaGVja0luZGV4KGludCBpKSB7CglpZiAoMCA8PSBpICYmIGkgPCBtX3NpemUpIHsKCQkvL+OCpOODs+ODh+ODg+OCr+OCueOBr+ato+W4uAoJfQoJZWxzZSB7CgkJY291dCA8PCAi44Kk44Oz44OH44OD44Kv44K544GM5LiN5q2j44Gn44GZ77yBIiA8PCBlbmRsCgkJCTw8ICLlgKQgOiAiIDw8IGkgPDwgZW5kbDsKCQlleGl0KEVYSVRfRkFJTFVSRSk7Cgl9Cn0KCnZvaWQgSW50QXJyYXk6Om9wZXJhdG9yPShjb25zdCBJbnRBcnJheSYgb3RoZXIpIHsKCWludCogYXJyYXkgPSBuZXcgaW50W290aGVyLm1fc2l6ZV07CgoJZGVsZXRlW11tX2FycmF5OwoJbV9hcnJheSA9IGFycmF5OwoJbV9zaXplID0gb3RoZXIubV9zaXplOwoJY29weShvdGhlci5tX2FycmF5LCBvdGhlci5tX2FycmF5ICsgbV9zaXplLCBtX2FycmF5KTsKfQoKLypPcGVyYXRvci5jcHAqLwojaW5jbHVkZTxpb3N0cmVhbT4KI2luY2x1ZGUiSW50QXJyYXkuaCIKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgCnsKCUludEFycmF5IGEoNSk7CglJbnRBcnJheSBiKDUpOwoKCS8v44Gr5YCk44KS5YWl5Yqb44GX44Gm44GE44GPCglmb3IgKGludCBpID0gMDsgaSA8IGEuU2l6ZSgpOyBpKyspIHsKCQlpbnQgbjsKCQljaW4gPj4gbjsKCQlhLlNldChpLCBuKTsKCX0KCgkvL++9guOBq+OCs+ODlOODvOOBl+OBpuWQhOWApOOCkjLlgI3jgZnjgosKCWIub3BlcmF0b3I9KGEpOwoJZm9yIChpbnQgaSA9IDAsIHNpemUgPSBiLlNpemUoKTsgaSA8IHNpemU7IGkrKykgewoJCWIuU2V0KGksIGIuR2V0KGkpICogMik7Cgl9CgoJZm9yIChpbnQgaSA9IDAsIHNpemUgPSBhLlNpemUoKTsgaSA8IHNpemU7IGkrKykgewoJCWNvdXQgPDwgYS5HZXQoaSkgPDwgIiAtPiAiIDw8IGIuR2V0KGkpIDw8IGVuZGw7Cgl9Cn0=
Main.java:2: error: illegal character: '#'
#ifndef INTARRAY_H_
^
Main.java:3: error: illegal character: '#'
#define INTARRAY_H_
^
Main.java:6: error: illegal start of type
public:
^
Main.java:11: error: illegal start of type
~IntArray();
^
Main.java:14: error: illegal start of type
IntArray(const IntArray& other);
^
Main.java:29: error: '(' expected
void operator=(const IntArray& other);
^
Main.java:29: error: <identifier> expected
void operator=(const IntArray& other);
^
Main.java:29: error: <identifier> expected
void operator=(const IntArray& other);
^
Main.java:31: error: illegal start of type
private:
^
Main.java:33: error: <identifier> expected
int* m_array;
^
Main.java:33: error: <identifier> expected
int* m_array;
^
Main.java:39: error: illegal character: '#'
#endif
^
Main.java:43: error: illegal character: '#'
#include"IntArray.h"
^
Main.java:43: error: class, interface, or enum expected
#include"IntArray.h"
^
Main.java:44: error: illegal character: '#'
#include<iostream>
^
Main.java:45: error: illegal character: '#'
#include<cstdlib>
^
Main.java:48: error: class, interface, or enum expected
IntArray::IntArray(int size) {
^
Main.java:50: error: class, interface, or enum expected
m_size = size;
^
Main.java:53: error: class, interface, or enum expected
fill_n(m_array, m_size, 0);
^
Main.java:55: error: class, interface, or enum expected
cout << "???????????????"
^
Main.java:57: error: class, interface, or enum expected
}
^
Main.java:62: error: class, interface, or enum expected
cout << "??????????????"
^
Main.java:64: error: class, interface, or enum expected
}
^
Main.java:68: error: class, interface, or enum expected
m_size = other.m_size;
^
Main.java:70: error: class, interface, or enum expected
copy(other.m_array, other.m_array + m_size, m_array);
^
Main.java:72: error: class, interface, or enum expected
cout << "??????????????????" << endl;
^
Main.java:73: error: class, interface, or enum expected
}
^
Main.java:77: error: class, interface, or enum expected
}
^
Main.java:81: error: class, interface, or enum expected
return m_array[i];
^
Main.java:82: error: class, interface, or enum expected
}
^
Main.java:86: error: class, interface, or enum expected
m_array[i] = value;
^
Main.java:87: error: class, interface, or enum expected
}
^
Main.java:96: error: class, interface, or enum expected
exit(EXIT_FAILURE);
^
Main.java:97: error: class, interface, or enum expected
}
^
Main.java:103: error: class, interface, or enum expected
delete[]m_array;
^
Main.java:104: error: class, interface, or enum expected
m_array = array;
^
Main.java:105: error: class, interface, or enum expected
m_size = other.m_size;
^
Main.java:106: error: class, interface, or enum expected
copy(other.m_array, other.m_array + m_size, m_array);
^
Main.java:107: error: class, interface, or enum expected
}
^
Main.java:110: error: illegal character: '#'
#include<iostream>
^
Main.java:111: error: illegal character: '#'
#include"IntArray.h"
^
Main.java:114: error: class, interface, or enum expected
int main()
^
Main.java:117: error: class, interface, or enum expected
IntArray b(5);
^
Main.java:120: error: class, interface, or enum expected
for (int i = 0; i < a.Size(); i++) {
^
Main.java:120: error: class, interface, or enum expected
for (int i = 0; i < a.Size(); i++) {
^
Main.java:120: error: class, interface, or enum expected
for (int i = 0; i < a.Size(); i++) {
^
Main.java:122: error: class, interface, or enum expected
cin >> n;
^
Main.java:123: error: class, interface, or enum expected
a.Set(i, n);
^
Main.java:124: error: class, interface, or enum expected
}
^
Main.java:128: error: class, interface, or enum expected
for (int i = 0, size = b.Size(); i < size; i++) {
^
Main.java:128: error: class, interface, or enum expected
for (int i = 0, size = b.Size(); i < size; i++) {
^
Main.java:128: error: class, interface, or enum expected
for (int i = 0, size = b.Size(); i < size; i++) {
^
Main.java:130: error: class, interface, or enum expected
}
^
Main.java:132: error: class, interface, or enum expected
for (int i = 0, size = a.Size(); i < size; i++) {
^
Main.java:132: error: class, interface, or enum expected
for (int i = 0, size = a.Size(); i < size; i++) {
^
Main.java:134: error: class, interface, or enum expected
}
^
56 errors