一道codewars的c++小题 小白求教

class Pattern{
public:
static string pattern(int);
void Equals(string s){ cout << s; }
};
string Pattern::pattern(int i)
{
if (i>0)
{
string s;
for (int n = i; n>0; n--)
{
string line(10,' ');
stringstream ss;
for (int j = i; j>i - n; j--){
ss << j;
ss >> line[i-j];
}
s += line + '\n';
}
return s;
}
else
return "i.e.empty string.";
}
调试
int main(){
class p;
string s=Pattern::pattern(4);
p.Equal(s);
return 0;

结果:4321
321
21
1
在vs上验证过了
是我理解错了吗?各位大大。图片

 int main()
{
    Pattern p;
    string s = p.pattern(4);
    p.Equals(s);
    return 0;
}

4321
432
43
4