-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTestArraySubscript.h
More file actions
39 lines (31 loc) · 1.04 KB
/
TestArraySubscript.h
File metadata and controls
39 lines (31 loc) · 1.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#ifndef TEST_ARRAY_SUBSCRIPT_H
#define TEST_ARRAY_SUBSCRIPT_H
#include <iostream>
#include "ArraySubscriptOverloaded.h"
namespace OperatorOverloadExperiment {
class TestArraySubsucript {
public:
void Execute() {
std::cout << "[添字演算子 左辺値 const返却 呼び出し]" << std::endl;
ArraySubscriptOverloaded overloaded1(1);
overloaded1[0].Print();
std::cout << std::endl;
std::cout << "[コピー代入演算子のオーバーロード呼び出し]" << std::endl;
ArrayItem item1(0);
// コピー代入
item1 = overloaded1[1];
// 同じインスタンスにコピー代入
item1 = item1;
std::cout << std::endl;
std::cout << "[添字演算子 左辺値 参照返却 呼び出し]" << std::endl;
overloaded1[0].value = 1;
std::cout << std::endl;
std::cout << "[添字演算子 右辺値 呼び出し]" << std::endl;
ArrayItem item = ArraySubscriptOverloaded(2)[0];
item.Print();
std::cout << std::endl;
std::cout << "[TestArraySubscript.Execute() 終了]" << std::endl;
}
};
}
#endif // TEST_ARRAY_SUBSCRIPT_H