- virtual 成员: 类结构加 __vtbl 指针字段 - 每类发射 vtable typedef (owner) + 实例, 含实现原型保证声明顺序 - 构造器设置 __vtbl = &Cls_vtbl_inst (含派生类 __base.__vtbl) - 覆盖检测: virtual_impl 沿继承链找实现 - 指针变量: Cls* p = &d -> (struct Cls*)&d 转换 - p->virt() -> p->__vtbl->virt(p) 虚分发; 非虚 -> Cls_meth(p, ...) - 函数签名: 类参数 Cls* / Cls 加 struct 前缀并注册为指针/值变量 - parse_class 重构: 先收集字段, 后发射 struct (vtbl 字段依赖解析结果)
84 KiB
84 KiB