回答編集履歴

2

追加

2021/03/16 05:57

投稿

amiya
amiya

スコア1218

test CHANGED
@@ -1,4 +1,4 @@
1
- ※以下の方法を行っても、x=5にはなりません。それはクラスBの保存の問題とは別の問題になります。
1
+ ※以下の方法を行っても、x=5にはなりません。それはクラスBの保存の問題とは別の問題になります。(最後に補足しました)
2
2
 
3
3
 
4
4
 
@@ -167,3 +167,15 @@
167
167
  }
168
168
 
169
169
  ```
170
+
171
+
172
+
173
+ ---
174
+
175
+ `x = 5`にならないのは、`x+=2`を行っている場所での`x`とは、
176
+
177
+ `B1_Method(int x)`という風に定義された仮引数なので、そのメソッドの内部でしか有効ではないからです。
178
+
179
+ メソッドの中で`3+2`は確かに行われますが、メソッドの終了と共にその結果はそのまま消えてなくなります。
180
+
181
+ それを外部に伝えたい場合は、消えない場所の変数に保存するか、返り値等で伝える必要があります。

1

追加

2021/03/16 05:57

投稿

amiya
amiya

スコア1218

test CHANGED
@@ -1,3 +1,9 @@
1
+ ※以下の方法を行っても、x=5にはなりません。それはクラスBの保存の問題とは別の問題になります。
2
+
3
+
4
+
5
+
6
+
1
7
  `B b;`
2
8
 
3
9
  これだけでは、クラスBを入れることのできる箱(変数)を用意したにすぎません。