Delphi的类和对象(十一)- 关于类的向前声明

//例1: 这是正确的
  TClassA = class
    Field1: string;
    Field2: Integer;
  end;

  TClassB = class
    Field1: string;
    Field2: Integer;
    Field3: TClassA; {字段 Field3 的类型是刚刚新定义的 TClassA 类型}
  end;


//例2: 这是错误的, 这里有个顺序问题
  TClassA = class
    Field1: string;
    Field2: Integer;
    Field3: TClassB; {字段 Field3 的类型是将要定义的 TClassB 类型}
  end;

  TClassB = class
    Field1: string;
    Field2: Integer;
  end;


//例3: 解决方案 - 向前声明
  TClassB = class; {向前声明}

  TClassA = class
    Field1: string;
    Field2: Integer;
    Field3: TClassB;
  end;

  TClassB = class
    Field1: string;
    Field2: Integer;
  end;

转载:https://www.cnblogs.com/del/archive/2008/01/14/1038166.html

猜你喜欢

转载自www.cnblogs.com/fansizhe/p/12729660.html
今日推荐