#include class Matrixlt { int N; Vector *p; void set(int n); void clear(); public: Matrixlt(); Matrixlt(int n); Matrixlt(const Matrixlt &X); ~Matrixlt(); inline int nrow() const { return N; } inline int ncol() const {return N; } Vector dim() const; Matrixlt dim(int n); inline Vector &operator [](int i) const { return p[i]; } operator Matrix() const; Matrix operator !() const; Matrixlt operator -() const; friend Matrix operator %(const Vector &v, const Matrixlt &X); friend Matrix operator %(const Matrix &X, const Matrixlt &Y); Matrix operator %(const Vector &v) const; Matrix operator %(const Matrix &X) const; Matrix operator %(const Matrixlt &X) const; Matrix operator *(double x) const; Matrix operator *(const Vector &v) const; Matrix operator *(const Matrix &X) const; Matrix operator *(const Matrixlt &X) const; Matrix operator /(double x) const; Matrix operator /(const Vector &v) const; Matrix operator /(const Matrix &X) const; Matrix operator /(const Matrixlt &X) const; Matrix operator +(double x) const; Matrix operator +(const Vector &v) const; Matrix operator +(const Matrix &X) const; Matrix operator +(const Matrixlt &X) const; Matrix operator -(double x) const; Matrix operator -(const Vector &v) const; Matrix operator -(const Matrix &X) const; Matrix operator -(const Matrixlt &X) const; Matrix operator <(double x) const; Matrix operator <(const Vector &v) const; Matrix operator <(const Matrix &X) const; Matrix operator <(const Matrixlt &X) const; Matrix operator <=(double x) const; Matrix operator <=(const Vector &v) const; Matrix operator <=(const Matrix &X) const; Matrix operator <=(const Matrixlt &X) const; Matrix operator >(double x) const; Matrix operator >(const Vector &v) const; Matrix operator >(const Matrix &X) const; Matrix operator >(const Matrixlt &X) const; Matrix operator >=(double x) const; Matrix operator >=(const Vector &v) const; Matrix operator >=(const Matrix &X) const; Matrix operator >=(const Matrixlt &X) const; Matrix operator ==(double x) const; Matrix operator ==(const Vector &v) const; Matrix operator ==(const Matrix &X) const; Matrix operator ==(const Matrixlt &X) const; Matrix operator !=(double x) const; Matrix operator !=(const Vector &v) const; Matrix operator !=(const Matrix &X) const; Matrix operator !=(const Matrixlt &X) const; Matrix operator &&(double x) const; Matrix operator &&(const Vector &v) const; Matrix operator &&(const Matrix &X) const; Matrix operator &&(const Matrixlt &X) const; Matrix operator ||(double x) const; Matrix operator ||(const Vector &v) const; Matrix operator ||(const Matrix &X) const; Matrix operator ||(const Matrixlt &X) const; Matrixlt operator =(const Matrixlt &X); Matrixlt operator +=(const Matrixlt &X); Matrixlt operator -=(const Matrixlt &X); Matrixlt operator *=(const Matrixlt &X); friend ostream &operator <<(ostream &os, const Matrixlt &X); };