回答編集履歴
3
コメントの追記
test
CHANGED
@@ -29,6 +29,8 @@
|
|
29
29
|
{
|
30
30
|
|
31
31
|
// 別のインスタンスのprivateメンバを変更する
|
32
|
+
|
33
|
+
// ※昔は別インスタンスなのでできないと思っていた
|
32
34
|
|
33
35
|
obj._value += this->_value;
|
34
36
|
|
2
記述のミスを訂正
test
CHANGED
@@ -64,4 +64,4 @@
|
|
64
64
|
|
65
65
|
このために、派生クラス側の private な指定には、基底クラス側からはアクセスできません。
|
66
66
|
|
67
|
-
基底クラス側に処理を公開する方法は、p
|
67
|
+
基底クラス側に処理を公開する方法は、public宣言か、friend宣言しかありません。
|
1
結論を追記
test
CHANGED
@@ -60,4 +60,8 @@
|
|
60
60
|
|
61
61
|
class の private や protected の宣言は、**クラス定義から見た公開範囲を指定**しています。
|
62
62
|
|
63
|
-
privateは継承関係無く同一クラス内のみ、protectedは継承関係にある派生クラスへの許可のみで、そのためにfriend宣言もクラス定義間の条件付けになっています。
|
63
|
+
privateは継承関係無く同一クラス内のみ、protectedは継承関係にある派生クラス側への許可のみで、そのためにfriend宣言もクラス定義間の条件付けになっています。
|
64
|
+
|
65
|
+
このために、派生クラス側の private な指定には、基底クラス側からはアクセスできません。
|
66
|
+
|
67
|
+
基底クラス側に処理を公開する方法は、private宣言か、friend宣言しかありません。
|