日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 芯聞號 > 充電吧
[導讀]模板和泛型編程也是C++中很重要的一部分,相信很大一部分程序員都用過某種容器類。但一般來說也就是用用而已,并不會自己構建類模板或者在建模中使用類模板。本文介紹EA中類模板的創(chuàng)建類模板和使用類模板的方法

模板和泛型編程也是C++中很重要的一部分,相信很大一部分程序員都用過某種容器類。但一般來說也就是用用而已,并不會自己構建類模板或者在建模中使用類模板。


本文介紹EA中類模板的創(chuàng)建類模板和使用類模板的方法。


創(chuàng)建類模板


假設我們要創(chuàng)建一個映射類(假設而已,可別真去創(chuàng)建)MyMap,它有兩個參數,一個是Key,一個是元素T。


首先創(chuàng)建一個普通的類,設定類名為MyMap。


一定有人在輸入類名的時候直接輸入MyMap




看起來也是那么回事,但是并不能生成正確的代碼。所以還是回到原先的軌道上來吧。只要輸入MyMap就好。


接下來選擇【Templates】分類,并在【Template Parameter(s)】列表空間中增加Key和T兩個參數,Type都指定為class。



按下【確定】按鈕返回后,類圖會變成下面這樣。




生成的代碼如下:




使用類模板


作為例子接下來利用MayMap實例化一個類名為PersonMap的類,負責管理從整數到Person*的映射。


首先創(chuàng)建一個普通的類,名為PersonMap。




從工具欄的【Class Relationsships】組里選擇下面圖標。



然后從PersonMap類向MyMap類拖動鼠標,以建立兩個類的連接關系。




鼠標雙擊《bind》連接線打開屬性對話框并選擇【Binding】分類,然后按下【Add】按鈕在【Parameter Substitution(s)】列表中添加參數。




如上圖所示,Formal列可以選擇Key和T參數。它們都是在MyMap類模板中定義的。繼續(xù)操作,指定Key和T參數的內容。


類圖會變成下面這樣。請關注紅圈中的變化。




對應代碼如下。




生成的有效代碼很少,但這確實是正確的代碼。在UML中這種方式叫顯示綁定。


在UML中還有一種不指定新類型名的隱式綁定,可是很遺憾,作者并沒有在EA中找到合適的表達方法。如果正在閱讀本文的你知道怎么做,還請不吝賜教。





本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉