#include class Matrix3x3 { public: double A[3][3]; Matrix3x3 addScalar(double x) { Matrix3x3 out; int i, j; for (i = 0; i < 3; i = i+1) for (j = 0; j < 3; j = j+1) out.A[i][j] = this->A[i][j] + x; return(out); } }; void print(Matrix3x3 *m) { int i, j; for (i = 0; i < 3; i = i+1) { for (j = 0; j < 3; j = j+1) printf("%5.2lf ", m->A[i][j]); cout << endl; } } int main(int argc, char *argv[]) { Matrix3x3 B, C; B.A[0][0] = 1.0; B.A[0][1] = 2.0; B.A[0][2] = 3.0; B.A[1][0] = 4.0; B.A[1][1] = 5.0; B.A[1][2] = 6.0; B.A[2][0] = 7.0; B.A[2][1] = 8.0; B.A[2][2] = 9.0; cout << "Initial matrix B:" << endl << endl; print(&B); C = B.addScalar(40); // <--- Member function cout << endl << "After C = addScalar(B, 40), matrix C:" << endl << endl; print(&C); }