我的工作,其將英語文本equivalant地方語言文本的語音轉換程序。區域語言將具有比英文字母更多的字符,區域語言字體幾乎使用字體中的所有位置(1-255)。
我的程序支持不同的字體,並且我創建了一個字體類,這個字體類將有方法提供對字符的訪問。這個類將有255個方法,每個方法代表每個字符。所有這些都被標記爲虛擬,以便新字體可以覆蓋必要的字符方法。
該字體類中的方法很簡單。所有的方法都是單行的。例子是
string StandardFont::consonant1(){
return "a";
}
string StandardFont::consonant2(){
return "b";
}
..
問題
- 威爾255個虛擬函數在一個類中做任何性能問題?我知道vtable的東西,但我不確定它在這種情況下會產生多大的影響。
- 任何人都可以提出這個班的替代設計?主要設計目標是允許派生類覆蓋必要的方法。我曾考慮將字符添加到容器中,如地圖或矢量並提供獲取角色的方法。但是因爲我會有255個物品,而且這個類經常使用,所以我認爲每次我必須循環容器才能獲得角色,這又是一個問題。
有什麼想法?
你可以充實一下描述嗎?這255種方法實際上將做什麼?什麼代碼會打電話給他們? – Charlie 2009-01-28 02:24:15
查理,已完成 – 2009-01-28 02:36:47