inherited 一問 |
尚未結案
|
BGman
初階會員 發表:28 回覆:85 積分:42 註冊:2003-01-10 發送簡訊給我 |
我有一個類別TMPHMemoryStream 繼承TMemoryStream
TMPHMemoryStream = class(TMemoryStream)
我想要Override GetSize 這個method
我查了一下這個method,是在祖父類別TStream所定義的
function TMPHMemoryStream.GetSize: Int64; var nFileSize: int64; begin if FDataStyle = False then inherited GetSize; // 如果這樣想,我不知道要如何得到祖父類別的回傳值 Result := self.GetSize // 所以我就嘗試這樣寫,不知道可不可以呼叫到祖父 end;所以我想要問 問題一: Result := inherited GetSize; 要怎麼寫? 還有,假設曾祖父類別有一個GetSize,然後父類別也有一個GetSize 我該如何指定去繼承我要的函式,是不是 Result := inherited TStream.GetSize; // 曾祖父類別 Result := inherited TMemoryStream.GetSize; // 父類別 問題二: 我是否可以Asign "Size",這一個祖父類別的Class Member var MyMemoryStream: TMPHMemoryStream; MyMemoryStream.Size = 1000; |
flyup
資深會員 發表:280 回覆:508 積分:385 註冊:2002-04-15 發送簡訊給我 |
|
BGman
初階會員 發表:28 回覆:85 積分:42 註冊:2003-01-10 發送簡訊給我 |
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
|
flyup
資深會員 發表:280 回覆:508 積分:385 註冊:2002-04-15 發送簡訊給我 |
//宣告
function GetSize: Int64; overload; property SIZE: Int64 read GetSize; function TMPHMemoryStream.GetSize: Int64;varnFileSize: int64;
var
i:longint;
begin
if FDataStyle = False then
i:=GetSize; //祖父類別的回傳值
Result := self.GetSize
end; 問題..希望不是最後才發生!建議一次問完!
|
BGman
初階會員 發表:28 回覆:85 積分:42 註冊:2003-01-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |