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的网格,与一行字符对应,我非常高兴。:)