請問vector的運算子怎麼重新定義? |
尚未結案
|
poom
一般會員 發表:1 回覆:1 積分:0 註冊:2004-12-13 發送簡訊給我 |
請問如果是下列的情況,我該如何重新定義operator ”>”,”<”,”=”呢? 首先我先自定了一個class A
class A{ public: int Num; A(){;}; ~A(){delete this;}; bool operator> (const A& temp){ return ((*this).Num > temp.Num); } bool operator< (const A& temp){ return ((*this).Num < temp.Num); } };這是第二個定義的class ALIST class AList :public vector{ public: AList(){;} ~AList(){;} };以下是我的main function int main(int argc, char* argv[]) { AList List; A *aaa = new A; A *bbb = new A; List.push_back(aaa); List.push_back(bbb); List[0]->Num = 10; List[1]->Num = 2; ShowMessage(IntToStr(List[0]->Num)); ShowMessage(IntToStr(List[1]->Num)); if(List[0]>List[1]){ cout<<"a > b "< |
justdo
高階會員 發表:2 回覆:359 積分:222 註冊:2004-08-17 發送簡訊給我 |
|
poom
一般會員 發表:1 回覆:1 積分:0 註冊:2004-12-13 發送簡訊給我 |
|
pwipwi
版主 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
poom你好:
使用vector可以達到你的需求。 另外所有的STL容器是不建議使用者去繼承使用的。 以你的例子,可以用typedef來達到命名的功能。發表人 - pwipwi 於 2005/02/07 01:19:23 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |