回答編集履歴
3
* の追加
test
CHANGED
@@ -64,7 +64,7 @@
|
|
64
64
|
|
65
65
|
`Student c(0, ""); a.child = &c;` と書いても落ちなくなります。
|
66
66
|
|
67
|
-
とにかく、`a.child = b;` で b の実体を丸ごとコピーするためには、
|
67
|
+
とにかく、`*a.child = b;` で b の実体を丸ごとコピーするためには、
|
68
68
|
|
69
69
|
その前に a.child が Student の領域を指していなければなりません。
|
70
70
|
|
2
補足説明の追加
test
CHANGED
@@ -67,3 +67,9 @@
|
|
67
67
|
とにかく、`a.child = b;` で b の実体を丸ごとコピーするためには、
|
68
68
|
|
69
69
|
その前に a.child が Student の領域を指していなければなりません。
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
`a.child =` はポインタへの代入ですが、
|
74
|
+
|
75
|
+
`*a.child =` はポインタへの代入ではありません。実体のコピーです。
|
1
new の代わりに自動変数の領域を使う方法を追加。
test
CHANGED
@@ -55,3 +55,15 @@
|
|
55
55
|
連結リストや木構造など、同一クラスへのポインタを持つクラスはいくらでもあります。
|
56
56
|
|
57
57
|
でも、使用するときは、a.child = &b; が普通です。
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
**追記**
|
62
|
+
|
63
|
+
`a.child = new Student(0, "nobody");` の代わりに、
|
64
|
+
|
65
|
+
`Student c(0, ""); a.child = &c;` と書いても落ちなくなります。
|
66
|
+
|
67
|
+
とにかく、`a.child = b;` で b の実体を丸ごとコピーするためには、
|
68
|
+
|
69
|
+
その前に a.child が Student の領域を指していなければなりません。
|