回答編集履歴
4
微修正
answer
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
`#include "CAppSub.h"` しなければCAppSubに変更が生じてもCAppMain利用者コードは再コンパイル不要。詳細を隠すことによるメリットやね。
|
7
7
|
|
8
|
-
(
|
8
|
+
(CAppMain.cppはCAppSubの詳細がなくては実装できんので#includeするけど。)
|
9
9
|
|
10
10
|
[追記]
|
11
11
|
もうひとつ、**たすき掛け(相互参照)**のため。
|
3
微修正
answer
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
(CAssMain.cppはCAppSubの詳細がなくては実装できんので#includeするけど。)
|
9
9
|
|
10
10
|
[追記]
|
11
|
-
もうひとつ、**たすき掛け**のため。
|
11
|
+
もうひとつ、**たすき掛け(相互参照)**のため。
|
12
12
|
|
13
13
|
```C++
|
14
14
|
// 旦那.h
|
2
加筆
answer
CHANGED
@@ -5,4 +5,35 @@
|
|
5
5
|
|
6
6
|
`#include "CAppSub.h"` しなければCAppSubに変更が生じてもCAppMain利用者コードは再コンパイル不要。詳細を隠すことによるメリットやね。
|
7
7
|
|
8
|
-
(CAssMain.cppはCAppSubの詳細がなくては実装できんので#includeするけど。)
|
8
|
+
(CAssMain.cppはCAppSubの詳細がなくては実装できんので#includeするけど。)
|
9
|
+
|
10
|
+
[追記]
|
11
|
+
もうひとつ、**たすき掛け**のため。
|
12
|
+
|
13
|
+
```C++
|
14
|
+
// 旦那.h
|
15
|
+
#include "嫁.h"
|
16
|
+
class 旦那 {
|
17
|
+
嫁* 相方;
|
18
|
+
};
|
19
|
+
```
|
20
|
+
|
21
|
+
```C++
|
22
|
+
// 嫁.h
|
23
|
+
#include "旦那.h"
|
24
|
+
class 嫁 {
|
25
|
+
旦那* 相方;
|
26
|
+
};
|
27
|
+
```
|
28
|
+
これ、コンパイルできません。無限に#includeすることになるぢゃろ?
|
29
|
+
こんなときに
|
30
|
+
|
31
|
+
```C++
|
32
|
+
// 旦那.h
|
33
|
+
class 嫁;
|
34
|
+
|
35
|
+
class 旦那 {
|
36
|
+
嫁* 相方;
|
37
|
+
};
|
38
|
+
|
39
|
+
```
|
1
加筆
answer
CHANGED
@@ -3,4 +3,6 @@
|
|
3
3
|
「詳細を隠したい」という意図の現れでもあります。
|
4
4
|
この例でいけば、「CAppMainの利用者にはCAppSubのナカミを意識して欲しくない」ってこと。
|
5
5
|
|
6
|
+
`#include "CAppSub.h"` しなければCAppSubに変更が生じてもCAppMain利用者コードは再コンパイル不要。詳細を隠すことによるメリットやね。
|
7
|
+
|
6
8
|
(CAssMain.cppはCAppSubの詳細がなくては実装できんので#includeするけど。)
|