我知道一定遗漏了一些明显的东西,但我在理解类方面仍然有很多困难。我有一个指针,我确信这是错误的,但我不知道怎么做。此外,当我尝试打印其中一个变量时,它只显示第一个字符,而不是同时显示两个字符,我不知道如何解决这个问题。
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 B3n";
cout << " 2 . . . n";
cout << " 3 W1 W2 W3n";
}
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);
}
我试图让它变得非常简单:
IDK.P1 = *"B1";
在这一行中,将多个字符指定给一个字符。P1
属于char
类型,它正好包含一个字符。char
是一种保存单个字节的类型,意思是一个ASCII编码字符。B1是两个字符。
在C风格的编程中,您可以使用一个不推荐使用的字符数组,该数组指向一个指针(char*
)来容纳几个字符。它将是一个以终止符号(