我怎样才能调用另一个类的功能?

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 ++参考.

Aad*_*lsi 5

我认为自由函数或公共静态方法没有任何问题.我更喜欢他们继承.

static bool Queen::isLegalMove(Position poscurr, Position posnew)

static bool Bishop::isLegalMove(Position poscurr, Position posnew)
Run Code Online (Sandbox Code Playgroud)