1typedef double Real; 2class Vector { 3 int dimen; 4 Real* val; 5public: 6 Vector& operator=(const Vector& vec); 7 Vector(int p_dimen, Real *p_val) 8 : dimen(p_dimen), val(p_val) { } 9 int dim() const; 10}; 11class DVector : public Vector { 12public: 13 void reDim(int newdim); 14 explicit DVector(const Vector& old); 15 DVector& operator=(const Vector& vec) { 16 reDim(vec.dim()); 17 Vector::operator=(vec); 18 } 19}; 20Vector& Vector::operator=(const Vector& vec) 21{ 22 dimen = vec.dimen; 23 val = vec.val; 24} 25int Vector::dim() const { return dimen; } 26DVector::DVector(const Vector& old) : Vector(0, 0) 27{ 28 *this = old; 29} 30void DVector::reDim(int newdim) {} 31int main() {} 32 33