【发布时间】:2021-08-26 07:17:25
【问题描述】:
我知道肯定遗漏了一些明显的东西,但我仍然在理解课程方面遇到了很多麻烦。我有一个指针,我确定那是错误的,但我不知道怎么做。此外,当我尝试打印其中一个变量时,它只显示第一个字符而不是两个字符,我不知道如何解决。
class Pieces
{
public:
char P1;
char P2;
char P3;
char P4;
char P5;
char P6;
char P7;
char P8;
char P9;
void Board(char P1, char P2, char P3, char P4, char P5, char P6, char P7, char P8, char P9);
void Board();
};
void Pieces::Board()
{
cout << " A B C \n";
cout << " 1 B1 B2 B3\n";
cout << " 2 . . . \n";
cout << " 3 W1 W2 W3\n";
}
void Pieces::Board(char P1, char P2, char P3, char P4, char P5, char P6, char P7, char P8, char P9)
{
cout << " A B C \n";
//cout << " 1 ", P1, " ", P2, " ", P3, "\n";
cout << P1;
cout << P1;
cout << "\n";
//cout << " 2 ", P4, " ", P5, " ", P6, "\n";
//cout << " 3 ", P7, " ", P8, " ", P9, "\n";
}
int main()
{
Pieces IDK;
IDK.P1 = *"B1";
IDK.P2 = *"B2";
IDK.P3 = *"B3";
IDK.P4 = *". ";
IDK.P5 = *". ";
IDK.P6 = *". ";
IDK.P7 = *"W1";
IDK.P8 = *"W2";
IDK.P9 = *"W3";
cout << IDK.P1;
IDK.Board();
IDK.Board(IDK.P1, IDK.P2, IDK.P3, IDK.P4, IDK.P5, IDK.P6, IDK.P7, IDK.P8, IDK.P9);
}
【问题讨论】:
-
代码应该做什么?什么是预期的输出?实际输出是多少?
-
请注意
char是单个字符而不是字符串,您希望*"B1"做什么? -
IDK.P1 = *"B1";将字符“B”分配给成员 P1。如果 arr 是一个数组变量,你总是可以写arr[0]而不是*arr。