2013-08-24 5 views
0

Я работаю над проектом Ludum Dare, и я не могу понять, как использовать массив в другом классе для использования плиточного листа. Каков наилучший способ хранения массива в другом классе, а затем использовать его в файле 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; 
    } 
} 
Смежные вопросы