typedef inte***ce ii1 ii1;
inte***ce ii1
;typedef inte***ce irtlfile irtlfile;
inte***ce irtlfile
;class cfile
;呼叫方法
當然還是先找乙個最簡單的函式 getname。
getname 有三個引數:
第乙個引數用於記錄的,可以忽略;
第二個引數為數值,1,表示短檔名,2,表示長檔名;
第三個引數為輸出的字串。
// 構造物件
cfile *file= new cfile();
// 初始化字串值
lunicode_string filename;
rtlinitlunicodestring(&filename, l"c:\\windows\\offline");
// 物件屬性賦值
file->name = filename;
// 構造用於輸出的字串
plunicode_string lusname = new lunicode_string();
// 呼叫函式
((irtlfile*)&file->csystemobject)->getname(null, 1, lusname);
// 構造用於輸出的字串
lpwstr pszname = l"";
// 轉換成可以列印字串
convertlunicodestringtonullterminatedstring(lusname, &pszname);
printf("%ws\n", pszname);
類的函式呼叫
父類和子類的函式呼叫 1.用指標 引用 呼叫函式的時候,被呼叫的函式取決於指標 引用 的型別 2.涉及多型性時,採用虛函式和動態繫結,函式呼叫在執行時繫結,而非在編譯時繫結,此時不再單獨根據指標 引用 型別來判斷呼叫的函式,而是根據物件中虛指標指向的虛表中的函式位址來確定呼叫的函式。3.建構函式不可...
類成員函式呼叫
大家都知道c 的虛函式前必須加virtual,但如果一連串的繼承下來,有的忘了加virtual會出現什麼情況呢?為了滿足我的好奇心,做了點實驗然後有了本文,僅僅是好玩,沒有啥實際意義。本文只給出vs2005的情況 首先,如果是單一類,沒加virtual的話那麼好辦,直接call a fun,非sta...
類成員函式呼叫的細節
class concrete void printerror private int val void main 為什麼會出現這種情況呢?原來是,函式定義的時候,就一直存在了。即無聊是否 例項化了乙個物件,print 這個函式,都是存在的。所以 pc print 是可以找到函式的入口的。只是這時候,...