Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用类方法打印数组的内容_C++_Arrays_Oop_Printing - Fatal编程技术网

C++ 使用类方法打印数组的内容

C++ 使用类方法打印数组的内容,c++,arrays,oop,printing,C++,Arrays,Oop,Printing,我试图将“房间”对象的二维数组的内容作为数组中内容的打印/显示返回 Room* m_map[10][10]; 房间的分散是这样生成的: //Initialise array to NULL for(int x=0;x<10;x++) { for(int y=0;y<10;y++) m_map[x][y] = NULL; } for(int n=0; n<10; n++) { for(int ran=0; ran<3; ra

我试图将“房间”对象的二维数组的内容作为数组中内容的打印/显示返回

Room* m_map[10][10];
房间的分散是这样生成的:

//Initialise array to NULL
for(int x=0;x<10;x++)
{
    for(int y=0;y<10;y++)
        m_map[x][y] = NULL;
}

for(int n=0; n<10; n++)
{       
    for(int ran=0; ran<3; ran++)
    {
        int r_n = rand() % 10 ;

        Room* r = new Room(n, "Normal", true, false, false, true);
        m_map[r_n][n] = r;
    }       

}
//将数组初始化为NULL

对于(int x=0;x添加用于将数组打印到类的方法:

void print() const 
{
  for(int n=0; n<10; ++n)
  {       
    for(int m=0; m<10; ++m)
    {
      std::cout << m_map[n][m] ? : "# " : ". ";
    }
    std::cout << "\n";
  }
}
void print()常量
{

对于(int n=0;n通过两个维度循环。每次循环通过x显示列中的所有房间,并在其后附加逗号

当到达一行末尾并移动到下一行时,只需附加换行符即可在新行上打印下一列

void MyClass::printMap(unsigned int numOfRows, unsigned int numOfCols)
{
  using std;
  for(unsigned int y = 0; y < numOfRows ; y++)
  {
    for(unsigned int x = 0; x < numOfCols ; x++)
    {
       if(m_map[y][x] == NULL)
          cout << # << ",";
       else
          cout << m_map[y][x].roomName() << ",";   
    }

    cout << endl;
  }
}
void MyClass::printMap(unsigned int numOfRows,unsigned int numOfCols)
{
使用性病;
for(无符号整数y=0;y非常感谢,但这并没有回答我要问的问题。这是我不知道如何做的返回位。因为这是一个类方法,它需要一个返回类型。我正在考虑做你刚才在类似stringbuilder的结构中所做的事情,并返回一个字符串,除非你能重新返回任何其他内容?@Springfoxrning数组(在前面的问题中已回答)打印数组一点也不清楚。我同意juan的观点。否则我相信你想要数组的字符串表示,然后你想返回它?除非你想序列化或将其写入文件,否则这是毫无用处的。我希望能够以某种方式输出一个可视化表示,显示生成的房间数组或m_映射中存在的内容[10] [10]@Springfox这听起来像答案中提供的函数。好的,这可以用来获取它们,但是从类方法中,我如何返回它?作为字符串生成器一样的形式?或者..?不需要返回任何东西。你需要有一个名为“MyClass”的类,其中引用了你试图打印的数组。“cout”调用会将您提供的任何内容打印到输出流,在您的情况下,输出流可能是控制台。我不知道我可以使用这样的方法,我刚刚得到它,因此它显示为一个10 x 10的网格,与一行字符对应,我非常高兴。:)