簡體   English   中英

外部訪問說明符之外的C ++類成員

[英]c++ class members outside access specifiers

我對C ++還不是很堅定,而是通過閱讀示例代碼來學習。 現在,我發現了一個類聲明,該類聲明的成員變量在訪問說明符public和private之外。

class Card {
    friend class FortyApp;

    static double m_scale;
    static int m_width,m_height;

public:
    Card(int value, WayUp way_up = facedown);
    virtual ~Card(){};

    void Draw(wxDC& pDC, int x, int y);
    static void DrawNullCard(wxDC& pDC, int x, int y); // Draw card place-holder
    void Erase(wxDC& pDC, int x, int y);

    void TurnCard(WayUp way_up = faceup) { m_wayUp = way_up; }
    WayUp GetWayUp() const { return m_wayUp; }
    int GetPipValue() const { return m_pipValue; }
    Suit GetSuit() const { return m_suit; }
    SuitColour GetColour() const { return m_colour; }
    static void SetScale(double scale);
    static int GetHeight() { return m_height; };
    static int GetWidth() { return m_width; };
    static double GetScale() { return m_scale; };

private:
    Suit m_suit;
    int m_pipValue; // in the range 1 (Ace) to 13 (King)
    SuitColour m_colour; // red or black
    bool m_status;
    WayUp m_wayUp;

    static wxBitmap* m_symbolBmap;
    static wxBitmap* m_pictureBmap;
};

我不知道這是否有更高的理由。 變量m_scale,m_width和m_height現在是私有的,因為它是標准變量,還是?

提前致謝。

您知道默認的訪問說明符是嗎?

它是私人的

如果您不提供任何訪問說明符,它將自動設置為private。

如果要使M_scale公開,請在public:內部聲明public:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM