#if ! defined(_VECTOR_H_) #define _VECTOR_H_ class vector { // 向量類別 public: explicit vector(int n=10); vector(vector const & v); ~vector(); vector & operator =(vector const & v); int size() const { return capacity; } double operator [](int n) const; // 只讀不寫 double & operator [](int n); // 會修改到 *this typedef double * iterator; iterator begin() const { return data; } iterator end() const { return data + capacity; } private: int capacity; // 最多可以容納多少個元素 double * data; // 真正的資料. 動態地取得存放空間. }; #endif // 名稱: vector.cc // 作者: 洪朝貴 http://www.cyut.edu.tw/~ckhung/ // 功能: 向量模組. 主要只在示範 constructor, copy constructor, // destructor, assignment operator 之間的關係. vector::vector(int n) : capacity(n), data(new double[n]) { } vector::vector(vector const & v) : capacity(v.capacity), data(new double[v.capacity]) { for (int i=0; i #include #if defined(TEST) int main(int argc, char *argv[]) { int i; vector x(argc-1); for (i=1; i