/* ( n6.C ) NIHクラス・ライブラリ [ ArrayOf ] 機能:配列(重複要素を許す) ArrayOb v(5) ArrayOf クラスを定義する(サイズを 5 とする)。 v[0]=&A 配列に要素を入れる。v[2]=new .. でもよい。 v.isEmpty() 必ず0がでる。 v.capacity() v.size() も配列のサイズを返す。 v.removeAll(), v.reSize(20), v.printOn(cout), v[1]->printOn(cout) も使える。 */ #include "ArrayOb.h" #include "Point.h" main() { Point A(1,2); Point B(3,4); ArrayOb v(4); v[0] = &A; v[1] = &B; v[2] = new Point(0,1); // v[3] = 10 これは出来ない。 cout << v << endl; // (1,2)(3,4)(0,1)NIL cout << "data: " << *v[0] << endl; // data: (1,2) ArrayOb t(2),u(2); t[0] = &A; t[1] = &B; cout << "t = " << t << endl; // t = (1,2)(3,4) u = t; // t の内容を u にコピ−する。 cout << (t==u) << endl; // 1 : 中味が同じか評価している。 cout << t.isEqual(u) << endl; // 1 : t と u は中味が同じ。 cout << t.isEqual(v) << endl; // 0 : t と v は中味が異なる。 cout << t.compare(u) << endl; // 0 : cout << t.compare(v) << endl; //-1 : cout << v.compare(t) << endl; // 1 : v.removeAll(); }