1 派生类如何访问基类的函数返回值
就是派生对基类的函数进行重写覆盖操作,在代码里面,首先进行基类的调用,得到一个返回值,然后再根据这个返回值进行后续的代码编写,请问如何操作
2 派生类窗体如何访问基类窗体定义的属性,我基类里面定义了好多属性,派生类里面如何进行访问

解决方案 »

  1.   

    第一个问题:你把的基类一派生类的那个复盖的函数代码贴出看看,第二个问题: 只有基类的属性是ublished, public, protected的
    派生就可以直接访问. 比喻说派生类有一个属性是
    protected的属性Test, 在派生类直接可以用Test进行调用
      

  2.   

    比如基类function  f(若干参数):integer;virtual;派生类
    function  f(若干参数):integer;override;
    begin
       //如何在这里得到基类的返回值
       case 基类的返回值 of
       0:...
       1:...
       end;
    end;
      

  3.   

    TTest1 = class
      protected
         function F(I: integer): integer; virtual;
      public
      end;  TTest2 = class(TTest1)
      protected
        function F(I: Integer): integer; override;
      end;var
      Form1: TForm1;implementation{$R *.dfm}function TTest1.F(I: Integer): Integer;
    begin
      if I > 100 then
        Result := 1
      else
        Result := 0;
    end;function TTest2.F(I: Integer): integer;
    begin
      case inherited F(I) of
        1: ShowMessage('1');
        0: ShowMessage('0');
      end; 
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      with TTest2.Create do
        F(1000);
      with TTest2.Create do
        F(10);
    end;
      

  4.   

    在CSDN混, 就是为分活着....
    像这种100分贴肯定要抢
      

  5.   

    function  f(若干参数):integer;override;
    var
    r:Integer;
    begin
    //这样就可以了
       r:= inherited f(若干参数):; //如何在这里得到基类的返回值
       case 基类的返回值 of
       0:...
       1:...
       end;
    end;