yangvxin1 2005年03月18日
请问如何用这个重载操作符.谢谢.
template<class T>
class Array1D
{
public:
Array1D(int size);
Array1D()
{
m_Element=0;
}
Array1D(const Array1D<T>& v);
~Array1D()
{
delete []m_Element;
}
T& operator[](int size)const;
int Size(){return m_Size;}
Array1D<T>&operator=(Array1D<T>&v);
Array1D<T> operator-() const; // 一元减法操作符
private:
int m_Size;
T *m_Element;
};

template<class T>
Array1D<T>Array1D<T>::operator-()const
{
Array1D<T>w(m_Size);
for(int i=0;i<m_Size;i++)
w.m_Element[i]=-m_Element[i];
return w;
}

请问如何用这个-操作符。我写成
Array1D<int> array1(3);
Array1D<int> array2(3);
Array1D<int> array3(3);
然后给array1赋值后
在调用array2=-array1
程序不认。
或者跟array2赋值后
再调用array3=array1-array2.
到底怎么用这个重载操作符呀。谢谢



...全文
75 点赞 收藏 8
写回复
8 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告