【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

クラス

クラスを実装しました。クラスには参照カウントが働きます。循環参照への対策は行っていません。

.NETと同じようにstructとclassを区別します。structは値型、classは参照型です。
変数の宣言書式はC#とは異なり、C++風に記述します。

struct A {}
class B {}

A a; // OK
var a = new A; // NG

B b; // NG
var b = new B; // OK 

当初はstructを全面的にclassへ移行しようとしましたが、今までの構造を大幅に変更する必要に迫られたため、structはそのままでclassを付け足す形で実装しました。複素数型などは値型の方が都合が良いため、structはこのまま残します。