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);
};
我希望我的 isLegalMove
的 Queen 类实现能够调用函数 isLegalBishopMove
。我该如何解决这个问题?我尝试使用 friend ,但没有用。我不理解 C++ 引用资料。
最佳答案
I would think there is nothing wrong in free functions or public static methods. I prefer them to inheritance.
static bool Queen::isLegalMove(Position poscurr, Position posnew)
static bool Bishop::isLegalMove(Position poscurr, Position posnew)
关于c++ - 如何调用另一个类的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34584049/