一个指向对象数组指针的问题
以下是清华大学出版社吕凤翥著《C++语言基础教程》中的例子:
#include<iostream.h>
class M
{
public:
M() {a=b=0;}
M(int i,int j){a=i;b=j;}
void print(){cout<<a<<","<<b<<endl;}
private:
int a,b;
};
void main()
{
M m[2][4];
int x=10,y=10;
for(int i=0;i<2;i++)
for(int j=0;j<4;j++)
m[i][j]=M(i+=2,j+=10);
M(*pm)[4](m);
for(i=0;i<2;i++)
{
cout<<endl;
for(int j=0;j<4;j++)
(*(*(pm+i)+j)).print();
}
cout<<endl;
}
其答案为
12.20 14.30 16.40 18.50
20.60 22.70 24.80 26.90
但实际执行结果为
0,0
0,0
0,0
0,0
0,0
0,0
0,0
0,0
问题出在哪里?