Еще об операциях
Другое направление развития - снабдить вектора операциями:
class Vec : public vector { public: Vec(int s) : (s) {} Vec(Vec); ~Vec() {} void operator=(Vec); void operator*=(Vec); void operator*=(int); //... };
Обратите внимание на способ определения конструктора производного класса, Vec::Vec(), когда он передает свой параметр конструктору базового класса vector::vector() и больше не делает ничего. Это полезная парадигма. Операция присваивания перегружена, ее можно определить так:
void Vec::operator=(Vec a) { int s = size(); if (s!=a.size()) error("плохой размер вектора для ="); for (int i = 0; i
void error(char* p) { cerr