A operator-(B &t) { return(real1-t.real,imag1-t.imag); }
这里A的成员函数能访问B中的私有数据成员 要么将A设为B的友元 要么把这个函数设为B的友元函数
而且你在类中定义不对 因为编译器不知道类B是什么样子的 你只是做了一个类B的前向声明而已。
要把这个定义挪到classB的定义之后