// ============================================ // Classes (I) (p. 12) class MyVector { int n; int* m; void init(int dim); void print(); }; void MyVector::init(int dim) { n = dim; m = new int[n]; for(int i = 0; i < n; i++) m[i] = 0; } void MyVector::print() { cout << "("; for(int i = 0; i < n - 1; i++) cout << m[i] << ", "; cout << m[n-1] << ")\n"; } int main() { MyVector v; v.init(5); delete [] v.m; return 0; } // ============================================ // Classes (I) (p. 14) class MyVector { private: int n; int* m; public: void init(int dim); void print(); }; int main() { MyVector v; v.init(5); // OK! delete [] v.m; return 0; } // ============================================ // Classes (I) (p. 20) class MyVector { private: int n; int* m; public: void init(); void init(int dim); void init(int dim, int value); void print(); }; void MyVector::init() { n = 0; m = NULL; } void MyVector::init(int dim) { init(dim, 0); } void MyVector::init(int dim, int value) { n = dim; m = new int[n]; for(int i = 0; i < n; i++) m[i] = value; } // ============================================ // Classes (I) (p. 27) class MyVector { private: int n; int* m; public: MyVector(); MyVector(int dim, int value = 0); void print(); }; MyVector::MyVector() { n = 0; m = NULL; } MyVector::MyVector(int dim, int value) { n = dim; m = new int[n]; for(int i = 0; i < n; i++) m[i] = value; } // ============================================ // Classes (I) (p. 28) int main() { MyVector v1(1); MyVector v2(3, 8); v1.print(); // (0) v2.print(); // (8, 8, 8) return 0; } // ============================================ // Classes (I) (p. 32) class A { public: A() { cout << "A\n"; } ~A() { cout << "a\n"; } }; class B { private: A a; public: B() { cout << "B\n"; } ~B() { cout << "b\n"; } }; int main() { B b; return 0; } // ============================================ // Classes (I) (p. 35) #include using namespace std; int myMax (int [], int); int main () { int a[5] = {7, 2, 5, 8, 9}; cout << myMax (a, 5); return 0; } int myMax (int a[], int len) { int max = a[0]; for (int i = 1; i < len; i++) { if (a[i] > max) max = a[i]; } return max; } // ============================================ // Classes (I) (p. 42) // myMax.h const int LEN = 5; int myMax (int [], int); void print (int); // myMax.cpp #include using namespace std; int myMax (int a[], int len) { int max = a[0]; for (int i = 1; i < len; i++) { if (a[i] > max) max = a[i]; } return max; } void print (int i) { cout << i; } // main.cpp #include #include "myMax.h" using namespace std; int main () { int a[LEN] = {7, 2, 5, 8, 9}; print (myMax (a, LEN)); return 0; }