2013-08-24 54 views
0

我正在研究Ludum Dare項目,我無法弄清楚如何在另一個類中使用數組來使用tilesheet。將數組存儲在另一個類中然後在main.cpp文件中使用它的最佳方法是什麼?從其他類獲取數組

回答

0

在類中聲明數據結構,創建一個對象並訪問它!您也可能想了解更多關於通過引用函數傳遞的信息...

+0

您是否有示例代碼可用於通過引用傳遞? – Jqmfg

+0

void setData(myDataType&x) – darmat

1

一種方法是將STL向量類用作數組。在下面的示例中,nNumbers矢量類型爲int,並通過ClassB使用的公共獲取存取器方法進行復制。

// ClassA.h 
#include <vector> 

class ClassA 
{ 
public: 
    ClassA(); 

    std::vector<int> getNumbers(); 

private: 
    std::vector<int> mNumbers; 
}; 


// ClassA.cpp 
#include "stdafx.h" 
#include "ClassA.h" 

ClassA::ClassA() 
{ 
    for(int i = 0; i < 5; i++) 
    { 
     mNumbers.push_back(i); 
    } 
} 

std::vector<int> ClassA::getNumbers() 
{ 
    return mNumbers; 
} 


// ClassB.cpp 
#include "stdafx.h" 
#include "ClassB.h" 
#include "ClassA.h" 

#include <vector> 
#include <iostream> 

void ClassB::runOutput() 
{ 
    ClassA A; 
    std::vector<int> someNumbers = A.getNumbers(); 
    for(unsigned int i = 0; i < someNumbers.size(); i++) 
    { 
     std::cout << "i = " << i << std::endl; 
    } 
}