我正在用c ++实现我自己的向量.
这是我的Vector类:
template <class T>
class Vector
{
private :
T *ptr;
unsigned int numEle;
public :
T operator[] (unsigned int index)
{
if (index >= numEle)
return ptr[0];
else if (index < 0)
return ptr[0];
else
return ptr[index];
}
};
Run Code Online (Sandbox Code Playgroud)
我想做的是重载=操作符,这样当我写
Vector v;
v[2]=2;
Run Code Online (Sandbox Code Playgroud)
它将值2分配给第二个索引....请帮助.. !!
它应该是
T& operator [] (unsigned int index)
Run Code Online (Sandbox Code Playgroud)
为你的情况.另外,我建议你写一个const版本的运算符.
const T& operator [] (unsigned int index) const
Run Code Online (Sandbox Code Playgroud)