oo.ast
来自「一个编译器修改的例子」· AST 代码 · 共 36 行
AST
36 行
(* Test function overriding *) include io.inc class A is function f() : int is return 1;end class B inherits A is function f() : int is return 2;end class C inherits B is function f() : int is return 3;end function main(argv : array of string) : int is var obj : B; begin obj := new C; WriteString("Expect 3 : "); WriteInt(obj.f()); (* Note: obj.C::f() is not allowed *) WriteLine(); WriteString("Expect 2 : "); WriteInt(obj.B::f()); WriteLine(); WriteString("Expect 1 : "); WriteInt(obj.A::f()); WriteLine(); delete obj; return 0;end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?