teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2020/03/15 00:45

投稿

asm
asm

スコア15149

answer CHANGED
@@ -31,4 +31,30 @@
31
31
  ```
32
32
 
33
33
 
34
- みたいな事が言いたいのかなと推測します。
34
+ みたいな事が言いたいのかなと推測します。
35
+
36
+
37
+ ---
38
+
39
+ > 追記2
40
+
41
+ > Julia では abstract type はインスタンス化できないので、Animal 型のオブジェクトは存在しません。
42
+
43
+ そういえばC++の方は抽象クラスじゃなかったですね。
44
+
45
+ ```c++
46
+ struct Animal{ virtual ~Animal() = 0; };
47
+ ```
48
+
49
+ > Animal dog = Dog();
50
+ > Animal cat = Cat();
51
+
52
+ Dogクラスのインスタンスを作って、[コピーコンストラクタ](https://ja.cppreference.com/w/cpp/language/copy_constructor)でAnimal型の変数にコピーし
53
+ 結果として、Animal型の変数になりDogとしての部分は切り落とされます。
54
+
55
+ ```julia
56
+ dog = Animal()
57
+ dog .= Dog()
58
+ ```
59
+
60
+ みたいな感じですかね