Ben*_*sen 0 c++ oop function friend
class Bishop : public ChessPiece {
public:
friend class Queen;
Bishop(string colorIn, string nameIn);
//isLegalMove for bishop
//implemented this function for queen
bool isLegalBishopMove(int xSrc, int ySrc, int xDest, int yDest);
//Can move along any diagnol
virtual bool isLegalMove(int xSrc, int ySrc, int xDest, int yDest) ;
};
class Queen : public ChessPiece {
public:
//friend class Bishop;
Queen(string colorIn, string nameIn);
//friend bool Bishop::isLegalBishopMove(int xSrc, int ySrc, int xDest, int yDest);
virtual bool isLegalMove(int xSrc, int ySrc, int xDest, int yDest);
};
Run Code Online (Sandbox Code Playgroud)
我希望我的Queen的类实现isLegalMove能够调用该函数isLegalBishopMove.我怎么解决这个问题?我尝试使用朋友,但它没有用.我不理解c ++参考.
我认为自由函数或公共静态方法没有任何问题.我更喜欢他们继承.
static bool Queen::isLegalMove(Position poscurr, Position posnew)
static bool Bishop::isLegalMove(Position poscurr, Position posnew)
Run Code Online (Sandbox Code Playgroud)