teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

コメントの疑問に対する回答を追加

2020/03/30 06:27

投稿

kazuma-s
kazuma-s

スコア8222

answer CHANGED
@@ -59,4 +59,21 @@
59
59
  ```
60
60
 
61
61
  **追記**
62
- test2.set_num(num); のコメントを修正しました。
62
+ test2.set_num(num); のコメントを修正しました。
63
+
64
+ **追記2**
65
+ すみません。説明が不明確でした。
66
+
67
+ Test1 test1;
68
+ Test2 test2;
69
+ という宣言により、このプログラムのグローバル変数は
70
+ test1 と test2 の 2つだけです。
71
+
72
+ test1 の中には test2 がありその中に num があります。
73
+ test2 の中には num があります。
74
+
75
+ ということは、このプログラムのグローバル変数は
76
+ test1.test2.num と test2.num の 2つだけです。
77
+
78
+ main の test1.set(); で 1 になるのは、test1.test2.num です。
79
+ main の test2.get(); で表示するのは、test2.num で 123456789 です。

1

test2.set_num(num); のコメントを修正

2020/03/30 06:27

投稿

kazuma-s
kazuma-s

スコア8222

answer CHANGED
@@ -52,8 +52,11 @@
52
52
  void Test1::set()
53
53
  {
54
54
  int num = 1; // Test1::set() のローカル変数
55
- test2.set_num(num); //numに1を代入
55
+ test2.set_num(num); // test2.num local num の値 1 を代入
56
56
  cout << "Test1::set の local num = " << num << endl;
57
57
  // ここで Test1::set の local num は無くなる
58
58
  }
59
- ```
59
+ ```
60
+
61
+ **追記**
62
+ test2.set_num(num); のコメントを修正しました。