2010年1月19日 星期二

C++ virtual function 的另類呼叫法

今天早上學習了一下 C++ 對於 virtual function 是怎麼做的, 就寫了一個小程式來驗證一下, 果然如預期的, 程式如下:

#include

typedef void (*pfn_t) (void *);

class CObject
{
char *m_pszStr;

virtual void vfunc()
{
m_pszStr = "Slash is the BEST!\n";
cout << m_pszStr;
}
};

main()
{
CObject a;
pfn_t **p;

p = (pfn_t **) & a;
(**p) (&a);
}

執行結果:

[slash@slash ~]$ g++ -Wno-deprecated a.cpp
[slash@slash ~]$ ./a.out
Slash is the BEST!
[slash@slash ~]$

2008年11月4日 星期二

姓名筆劃測驗

News: 10-Nov-2k5: 算筆畫函式 bug fixed!
[2008/08/03]
由於許多人對此測驗的結果太過認真, 因此作者決定將此網頁關閉.
[2008/09/13]
由於許多人要求開放, 作者折衷刪除了總評的部份, 再開放出來.

Facebook app 版



請輸入您的姓名與對方的姓名:

您的姓名:


配對者姓名:





註: 此程式純粹為好玩而寫,請不要太過認真!


程式設計: slash@ms32.url.com.tw