这是怎么回事呢,我把returnX,Y,R的声明去掉就不会出现初始值设定项太多了。
#include<iostream>
class point;
class robot
{
private:
point a;
public:
robot(int, int);
int returnX(point& a);
int returnY(point& a);
int returnR(point& a);
};
class point
{
private:
int x, y, r = 0;
public:
point(int, int);
friend int robot::returnX(point& a);
friend int robot::returnY(point& a);
friend int robot::returnR(point& a);
};
point::point(int m, int n)
{
this->x = m;
this->y = n;
}
robot::robot(int m, int n) :a(m, n) {}//这里的n显示初始值设定项太多
int robot::returnX(point& a) { return a.x; }
int robot::returnY(point& a) { return a.y; }
int robot::returnR(point& a) { return a.r; }