如题
type classname = class;
提前声明有什么用?

解决方案 »

  1.   

    type
      TA = class;  TB = class
        parent: TA;
      end;  TA = class
        child: TB;
      end;两个类互相依赖的情况。代码是从上至下解析的,如果不加TA = class;
      TB = class
        parent: TA; // 这句将不能编译。Undeclared identifier: 'TA'
      end;
      

  2.   

    这是由于pascal语言的性质所决定的,pascal就是你不声明就不能使用,如果相互依赖只好提前声明。
    当年pascal这个特性好像是为了做到编译器可以只进行一次扫描。