簡體   English   中英

C++ 從另一個類訪問類變量

[英]C++ Accessing class variable from another class

我有一個名為 MineData 的類:

class MineData {
private:
    int row = 10;
    int col = 20;
public:
    MineData() {
        std::vector<std::vector<int>> data (col, std::vector<int>(row, 0));
    }
}

我有一個名為 Grid 的類:

class Grid : public QWidget {
    MineData mineData;
    QPushButton *btn = new QPushButton(mineData.data, this);
}

所以我想從 MineData 類訪問 Grid 類中的數據變量,但是當我這樣做時

mineData.data

我收到一個錯誤:

“MineData”類沒有“數據”成員

我究竟做錯了什么?

您當前已在MineData的構造函數MineData data聲明為局部變量。 相反,您需要將其設為成員變量。 然后,您可以在初始化列表中實例化它。

class MineData {
private:
  int row = 10;
  int col = 20;

public:
  vector<vector<int>> data;
  MineData(): data(col, vector<int>(row, 0)) { }
};

需要將矢量data添加為類字段。 現在它在MineData類構造函數中作為臨時變量構造,並在構造函數完成后將其移除。

class MineData {
private:
    int row = 10;
    int col = 20;
public:
    MineData() {
        data.resize(col, std::vector<int>(row, 0)); 
    }
std::vector<std::vector<int>> data 
}

暫無
暫無

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

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