我經歷了很多關於這個問題的問題,但仍然沒有找到我可以使用的答案。模板類成員函數專業化?
我有一個模板類,即聲明如下:
template <typename Type, int inSize>
class sortedVector
{
public:
sortedVector();
int getSize();
int getAmountElements();
bool add(const Type &element);
private:
Type *vector;
int size;
int amountElements;
};
類應該代表能夠存儲任何類型的元素的排序矢量。這是編程課程任務的一部分。到目前爲止,賦值中給出的主函數似乎將整數和類型爲Polygon的對象傳遞給函數。多邊形是我之前完成的一個類。
該矢量應該按照傳遞的多邊形對象的面積排序,或者當然,按照傳入的整數值進行排序。
爲此,我想我需要添加兩個不同的實現(const類型&元素)。一個負責將int放置到vector中的正確位置,另一個負責獲取多邊形的區域並將其插入vector中的正確位置。
我們談到AFAIK關於模板的專業化。
我已經嘗試了幾種不同的方法,但到目前爲止只是遇到了編譯器錯誤。什麼是最好的方式來實現這一目標?
應該不是你的'sortedVector'不是也存儲比較仿函數? – pmr 2012-03-18 13:32:18
你的意思是==?也許,我完全不熟悉這一點,但如果需要,我會在稍後添加它。我會需要什麼? :) – JKase 2012-03-18 13:35:09