質問編集履歴

2

最終的な目標を追記。 Test2.cpp内のvoid Test2::get()内に書かれていたコメントの修正。void Test2::get()内の不要な記載を削除。

2020/03/25 09:58

投稿

mushipan0929
mushipan0929

スコア56

test CHANGED
File without changes
test CHANGED
@@ -9,6 +9,12 @@
9
9
  初期値は共有できますが一旦playerで変更して、別のクラスで共有すると初期値をコピーしてきてしまいます。
10
10
 
11
11
  どうすれば常に別クラスでも共有できるでしょうか?
12
+
13
+
14
+
15
+ 最終的にはTest1::set()内のtest.set_numでnumの数値を[1]にして
16
+
17
+ Test2::get()内のget_numで先ほど入れた[1]をTest2内のnumに代入したいです。
12
18
 
13
19
 
14
20
 
@@ -130,9 +136,7 @@
130
136
 
131
137
  {
132
138
 
133
- int num = 200;
134
-
135
- num = get_num(); //numに200を代入(出来ていない)
139
+ num = get_num(); //numに1を代入(出来ていない)
136
140
 
137
141
  cout << "Test2_num = " << num << endl;
138
142
 

1

ソースコードを追記しました。

2020/03/25 09:58

投稿

mushipan0929
mushipan0929

スコア56

test CHANGED
File without changes
test CHANGED
@@ -9,3 +9,159 @@
9
9
  初期値は共有できますが一旦playerで変更して、別のクラスで共有すると初期値をコピーしてきてしまいます。
10
10
 
11
11
  どうすれば常に別クラスでも共有できるでしょうか?
12
+
13
+
14
+
15
+ ### ソースコード
16
+
17
+ ```C++
18
+
19
+ //Study.cpp
20
+
21
+ #include "Test1.h"
22
+
23
+ #include "Test2.h"
24
+
25
+
26
+
27
+ Test1 test1;
28
+
29
+ Test2 test2;
30
+
31
+
32
+
33
+ int main()
34
+
35
+ {
36
+
37
+ test1.get();
38
+
39
+ test1.set();
40
+
41
+ test2.get();
42
+
43
+
44
+
45
+ return 0;
46
+
47
+ }
48
+
49
+
50
+
51
+ //Test1.cpp
52
+
53
+ #include "Test1.h"
54
+
55
+ #include <iostream>
56
+
57
+
58
+
59
+ using namespace std;
60
+
61
+
62
+
63
+ void Test1::get()
64
+
65
+ {
66
+
67
+ int num = 0;
68
+
69
+ num = test2.get_num(); //numに123456789を代入
70
+
71
+ cout << "Test1_num = " << num << endl;
72
+
73
+ }
74
+
75
+
76
+
77
+ void Test1::set()
78
+
79
+ {
80
+
81
+ int num = 1;
82
+
83
+ test2.set_num(num); //numに1を代入
84
+
85
+ cout << "Test1_num = " << num << endl;
86
+
87
+ }
88
+
89
+
90
+
91
+ //Test1.h
92
+
93
+ #pragma once
94
+
95
+ #include "Test2.h"
96
+
97
+
98
+
99
+ class Test1
100
+
101
+ {
102
+
103
+ public:
104
+
105
+ void get();
106
+
107
+ void set();
108
+
109
+ private:
110
+
111
+ Test2 test2;
112
+
113
+ };
114
+
115
+
116
+
117
+ //Test2.cpp
118
+
119
+ #include "Test2.h"
120
+
121
+ #include <iostream>
122
+
123
+
124
+
125
+ using namespace std;
126
+
127
+
128
+
129
+ void Test2::get()
130
+
131
+ {
132
+
133
+ int num = 200;
134
+
135
+ num = get_num(); //numに200を代入(出来ていない)
136
+
137
+ cout << "Test2_num = " << num << endl;
138
+
139
+ }
140
+
141
+
142
+
143
+ //Test2.h
144
+
145
+ #pragma once
146
+
147
+
148
+
149
+ class Test2
150
+
151
+ {
152
+
153
+ public:
154
+
155
+ void get();
156
+
157
+ int get_num() { return num; }
158
+
159
+ void set_num(int _num) { num = _num; }
160
+
161
+ private:
162
+
163
+ int num = 123456789;
164
+
165
+ };
166
+
167
+ ```