委托學習(1)-------函數指針的改頭換面
2006/12/30 22:41:29
class liyufeng
{
//注意,此處必須聲明為靜態方法。
public:
static void mySay()
{
printf("I Like You,Do you know,if you don’t know,now I must tell you ,tell you!");
}
};
class goodfriend
{
typedef void (*middleSay)();
public:
static void friendSay(middleSay say)
{
say();
}
};
class beautifulpark
{
int _tmain(int argc, _TCHAR* argv[])
{
int c;
goodfriend::friendSay(liyufeng::mySay);
scanf_s("%d",&c);
return 0;
}
}
class liyufeng
{
//注意,此處可以不聲明為靜態方法
public static void mySay()
{
System.Console.WriteLine("I Like You,Do you know,if you don’t know,now I must tell you ,tell you!");
}
}
這個liyufeng類和上面的C++版本的不同的只是輸出到控制臺用的方法不一樣。
class goodfriend
{
//這里使用delegate關鍵字聲明.NET下的委托類型,同樣,我說話的那個mySay方法就由這個委托代勞.
public delegate void middleSay();
public static void friendSay(middleSay say)
{
say();
}
}
class beautifulpark
{
static void Main(string[] args)
{
goodfriend.friendSay(liyufeng.mySay);
System.Console.Read();
}
}
//注意,此處必須聲明為靜態方法。
public:
static void mySay()
{}
為什么必須聲明為靜態方法?再看一下C#的代碼:
//注意,此處可以不聲明為靜態方法
public static void mySay(){}
為什么這里可以不聲明為靜態方法?這里我們可以清楚的是,C++中用函數指針來調用的函數必須是靜態的(C語言里這點無關緊要),而在C#中用委托來調用的函數可以是靜態的,也可以不是.還不僅僅如此,函數指針一次只能實現對一個函數的調用,而委托沒有這個限制,可以實現一次調用多個函數.
返回列表
返回首頁
主站蜘蛛池模板:
好男人在线社区www在线视频免费|
欧美人善交videosg|
国产一级高清免费观看|
天堂久久久久久中文字幕|
女人把私密部位张开让男人桶|
丰满的少妇愉情hd高清果冻传媒|
案件小说h阿龟h全文阅读|
亚洲熟妇中文字幕五十中出|
日日干日日操日日射|
国产成人综合日韩精品无|
久久天堂夜夜一本婷婷麻豆|
欧美日韩精彩视频|
免费国产在线观看不卡|
色天使久久综合网天天|
国产性夜夜夜春夜夜爽|
男人天堂资源站|
在丈夫面前被侵犯中文字幕|
一本色综合久久|
我要c死你小荡货高h视频|
麻豆AV一区二区三区久久|
日韩一级片免费|
亚洲国产av美女网站|
特大巨黑人吊性xxx视频|
午夜视频十八嗯嗯啊免费|
青春草国产成人精品久久|
国产日韩在线视频|
窝窝午夜看片国产精品人体宴|
国内精品久久久久久无码不卡|
www.com.av|
少妇人妻精品一区二区|
中文字幕av一区乱码|
无码人妻精品一区二区三区9厂|
久久天天躁狠狠躁夜夜不卡|
最近高清中文在线字幕在线观看|
亚洲图片国产日韩欧美|
毛片免费观看网站|
亚洲色偷偷综合亚洲av伊人|
男女一边摸一边做爽视频|
公和我做好爽添厨房|
精彩视频一区二区三区|
四虎电影免费观看网站|