回答編集履歴

4

微修正

2018/05/05 04:02

投稿

Chironian
Chironian

スコア23272

test CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
  上記WikipediaのC++の例はテンプレートを使っているので、test()のパラメータ t はコンパイル時にDuckかCatが確定します。実行するまでどちらか判らないというものではありません。
70
70
 
71
- test()の中で`void fly(const Duck& t);`関数を呼び出していたとします。
71
+ test()の中で`t.fly();`メソッドを呼び出していたとします。
72
72
 
73
73
  そして、間違って`test(Cat());`と呼び出そうとすると、ありがたいことにコンパイル・エラーになります。
74
74
 

3

微修正

2018/05/05 04:02

投稿

Chironian
Chironian

スコア23272

test CHANGED
@@ -66,7 +66,7 @@
66
66
 
67
67
  ちょっと話はそれますが。
68
68
 
69
- 上記WikipediaのC++の例はテンプレートを使っているので、test()のパラメータ t は厳密にDuckのインスタンスかCatのインスタンスです。両方を表現できインスタンスではありません。
69
+ 上記WikipediaのC++の例はテンプレートを使っているので、test()のパラメータ t はコンパイル時にDuckかCatが確定します。実行すどちらか判らないというものではありません。
70
70
 
71
71
  test()の中で`void fly(const Duck& t);`関数を呼び出していたとします。
72
72
 

2

typo修正

2018/05/05 04:00

投稿

Chironian
Chironian

スコア23272

test CHANGED
@@ -72,4 +72,4 @@
72
72
 
73
73
  そして、間違って`test(Cat());`と呼び出そうとすると、ありがたいことにコンパイル・エラーになります。
74
74
 
75
- 動的型付け言語の場合、実行時にエラーになるでしょう。pログラムの完全なテストは不可能ですから、見逃した場合お客さんのところで発生します。可能な場合には避けたいシナリオです。
75
+ 動的型付け言語の場合、実行時にエラーになるでしょう。ログラムの完全なテストは不可能ですから、見逃した場合お客さんのところで発生します。可能な場合には避けたいシナリオです。

1

微修正

2018/05/05 03:58

投稿

Chironian
Chironian

スコア23272

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  「ポリモーフィズム」という言葉に厳密な定義があるわけではないようですので、人によって解釈が異なります。
12
12
 
13
- 私自身は「異なるものを同じように使えること」を最も広い意味での「ポリモーフィズム」と理解しています。PHPの例はこれに該当しますし、私は間違っているわけではないと思います。
13
+ 私自身は「異なるものを同じように使えること」を最も広い意味での「ポリモーフィズム」と理解しています。PHPの例はこれに該当しますし、veeeさんのその認識を、私は間違っていないと思います。
14
14
 
15
15
 
16
16