天堂888-欧美黄色小说-熟睡侵犯の奶水授乳在线-初尝情欲h名器av-亚洲天堂免费视频-日韩五十路-免费在线国产-国产又大又黄又粗-久草导航-色播导航-亚洲免费资源-熟女一区二区三区视频-亚洲美女视频在线-亚洲成人福利视频-婷婷精品在线-亚洲综合p-中文字幕 日本-亚洲骚片-亚洲自拍偷拍网-国产农村妇女精品一区二区-午夜中出-久久精品国产精品亚洲毛片-91精品毛片-99爱视频在线-狠狠操亚洲-美女让人操-里番本子纯肉侵犯肉全彩无码-999偷拍

計算機軟考程序員:C語言的多態實現[5]

程序員 責任編輯:jinruin 2010-11-18

添加老師微信

備考咨詢

加我微信

摘要:4.進階――類結構樹,父類不是純虛類的類前面僅僅講的是父類是純虛結構的情況(面向對象建議的是所有類的基類都是從純虛類開始的),那么當類層次比較多的情況下,出現父類不是純虛結構怎么辦呢。嘿嘿,其實在C中的實現比C++要簡單多了。因為C中各個函數是分散的。在這里使用宏定義是一個很好的辦法:比如兩個類Act1,ActByOther

  4.進階――類結構樹,父類不是純虛類的類

  前面僅僅講的是父類是純虛結構的情況 (面向對象建議的是所有類的基類都是從純虛類開始的), 那么當類層次比較多的情況下,出現父類不是純虛結構怎么辦呢。嘿嘿,其實在C中的實現比C++要簡單多了。因為C中各個函數是分散的。

  在這里使用宏定義是一個很好的辦法:比如兩個類Act1,ActByOther1“繼承”Act1:

  MyVirtualInterface* ActByOther1_CreatInterface()
  {
  index=FindValid()
  //對象池或者使用Malloc
  if(index==-1) return NULL;
  St[index].Foo1= ActByOther1_Foo1;
  // Act1_Foo1要在下面具體實現
  St[index].Foo2= ActByOther1_Foo2;
  St[index].Foo3= ActByOther1_Foo3;
  Return &st [index];
  }

  #define ActByOther1_Foo1 Act1_Foo1 //這就是繼承 嘿嘿
  ActByOther1_Foo2(){} // 可以修改其實現
  ActByOther1_DoByOther() {} //當然就可以添加新的實現咯

[1]  [2]  [3]  [4]  [5]  

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內容不斷變化與調整,本網站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為準!

軟考備考資料免費領取

去領取

!
咨詢在線老師!