【问题标题】:Get arrays from other classes从其他类获取数组
【发布时间】:2013-08-27 04:53:19
【问题描述】:

我正在处理 Ludum Dare 项目,但我不知道如何在另一个类中使用数组来使用 tilesheet。将数组存储在另一个类中然后在 main.cpp 文件中使用它的最佳方法是什么?

【问题讨论】:

    标签: c++ arrays function class call


    【解决方案1】:

    一种方法是使用 STL 向量类作为数组。在下面的示例中,nNumbers 向量的类型为 int,并且通过 ClassB 使用的公共 get 访问器方法进行复制。

    // 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;
        }
    }
    

    【讨论】:

      【解决方案2】:

      在类中声明数据结构,创建对象并访问它!您可能还想阅读有关通过引用传递函数的更多信息...

      【讨论】:

      • 你有我可以用于通过引用传递的示例代码吗?
      • void setData(myDataType &x)
      猜你喜欢
      • 1970-01-01
      • 2021-06-08
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      相关资源
      最近更新 更多