vector和map实现存储自定义类型

1.如果要用vector存储自定义类型数据,需要类重载运算符。如下

class A{
public:
	A(){}
	~A(){}
	friend bool operator==(const A& a1, const A& a2)
	{
		return (a1.a==a2.a)?true:false;
	}
	// or 
	/*
	bool operator==(const Convertable& other)
    {
        return a==other.a;
    }
    */
private:
	int a;
};

2.map实现存储自定义类型

class A{
public:
	A(){}
	~A(){}
	bool operator<(const A& a1) const{
		return (a<a1.a)?true:false;
	}
	// or
//	friend bool operator<(const A& loc1, const A& loc2)
  //  {
    //     return (loc1.a < loc2.a) ? true : false;
    //}
private:
	int a;
};

你可能感兴趣的:(vector和map实现存储自定义类型)