struct Point
{
public:
let mut x : real = 0.0;
let mut y : real = 0.0;
fn::ctor Point(let const x, let const y)
{
init this.x = x;
init this.y = y;
};
fn::dtor Point() {};
}
Конструкторы называются именем класса и тип функции
объявлен как fn::ctor.
Деструкторы тоже называются именем класса и тип функции
объявлен как fn::dtor.
Ключевое слово init действующее в пределах конструктора
обозначает переопределение дефолтного значения
членов класса на указанное значение. Это аналог списка инициализации
для c++, но более гибкий.
TODO: придумать в каком порядке члены инициализируются, возможные варианты: так как объявленны, как присвоенны, или как-то неопределённо для оптимизаций.
struct String
{
public:
let mut characters : char[] = null;
let mut
}
fn::ctor
Ключевое слово которое говорит, что можно автоматически
приводить к типу. (как explicit в c++ но наоборот)
fn::ctor cast::auto Point(let const val)
{
init this.val = val;
};