#include // --------------------------------------------- Class with a member function class Matrix3x3 { public: float A[3][3]; void AddMat(float x) { int i, j; cout << "Calling Matrix3x3.AddMat(float)" << endl; for (i = 0; i < 3; i = i + 1) for (j = 0; j < 3; j = j + 1) A[i][j] = A[i][j] + x; }; }; // ----------------------------------------------------------------------- void AddMat(Matrix3x3 & M, float x) { int i, j; cout << "Calling AddMat(Matrix3x3, float)" << endl; for (i = 0; i < 3; i = i + 1) for (j = 0; j < 3; j = j + 1) M.A[i][j] = M.A[i][j] + x; }; // ----------------------------------------------------------------------- void Print(Matrix3x3 *p) { int i, j; for (i = 0; i < 3; i = i + 1) { for (j = 0; j < 3; j = j + 1) cout << p->A[i][j] << "\t"; cout << "\n"; } cout << "\n"; }; int main(int argc, char *argv[]) { Matrix3x3 M; int i, j, k; k = 1; for (i = 0; i < 3; i = i + 1) for (j = 0; j < 3; j = j + 1) { M.A[i][j] = k; k = k + 1; } Print(&M); AddMat(M, 4); // Calls non-member function Print(&M); M.AddMat(4); // Calls member function Print(&M); }