1·题目介绍 2·我的回答 #include<iostream> #define M 3 using namespace std; class Array { private: int b[M][M]; public: Array(int(*p)[M] = 0) { int i, j; for (i = 0; i < M; i++) { for (j = 0; j < M; j++) { b[i][j] = p[i][j]; } } } void operator+() { int a[M][M]; int i, j; for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { a[i][j] = b[2 - j][i]; } } for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { b[i][j] = a[i][j]; } } } friend void operator-(Array& b) { int q[M][M]; int i, j; for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { q[i][j] = b.b[j][2-i]; } } for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { b.b[i][j]=q[i][j] ; } } } void print() { int i, j; for (i = 0; i < 3; i++) { for (j = 0; j< 3; j++) { cout << b[i][j]; } cout << endl; } } }; int main() { int a[M][M] = {1,2,3,4,5,6,7,8,9}; Array c(a); -c; c.print();//逆时针 cout << endl; +c; c.print();//顺时针 return 0; }