回答編集履歴

3

コメントの追記

2015/05/05 04:14

投稿

haru666
haru666

スコア1591

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

記述のミスを訂正

2015/05/05 04:14

投稿

haru666
haru666

スコア1591

test CHANGED
@@ -64,4 +64,4 @@
64
64
 
65
65
  このために、派生クラス側の private な指定には、基底クラス側からはアクセスできません。
66
66
 
67
- 基底クラス側に処理を公開する方法は、private宣言か、friend宣言しかありません。
67
+ 基底クラス側に処理を公開する方法は、public宣言か、friend宣言しかありません。

1

結論を追記

2015/05/05 02:58

投稿

haru666
haru666

スコア1591

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宣言しかありません。