// A program that illustrates how to use the parameterized Point template class #include #include #include #include "point.cc" // Inclusion of the .cc (.cpp) file, not just .h file const int Dim = 10; int main(){ using namespace std; Point pli1; // Default dimension and default default value. Point pi1, pi2; // double is illegal as type parameter in this context, // because non-integer constants are not allowed! Point pc1; Point<> pi3; // All three parameters are defaulted. // Diplacement int vectors: vector displacement1 {1, 2, 3}; vector displacement2; for(int i = 0; i < Dim; i++) displacement2.push_back(i*2); // Move points pli1.move(displacement1); pi1.move(displacement2); pc1.move(displacement2); pi3.move(displacement1); // Print points: cout << "pli1: " << pli1 << std::endl; // (1, 2, 3) cout << "pi1: " << pi1 << std::endl; // (7, 9, 11, 13, 15, 17, 19, 21, 23, 25) cout << "pc1: " << pc1 << std::endl; // (A, C, E, G) cout << "pi3: " << pi3 << std::endl; // (1, 2, 3) cout << "|pi1 - pi2| = " << pi1.distance_to(pi2) << endl; // 90 }