【发布时间】:2023-04-10 07:30:02
【问题描述】:
我需要在类构造函数中初始化我的变量(因为用声明初始化它当然是不好的,虽然在工作中)。我试图用循环初始化它,但我不知道如何正确地做到这一点。我该如何解决这个问题?我应该使用指针吗?
class Track
{
private:
char track[18][19];
/*
need to initialize equal to
track[18][19] = {
"| |",
"| |",
"| |",
"| |",
"| |",
"| |",
"| |",
"| |",
"| |",
"| |",
"| |",
"| |",
"| |",
"| |",
"| |",
"| |",
"| |",
"| |"
};*/
public:
Track(){
for (int i=0; i<18; i++)
for (int j = 1; j < 18; j++) {
track[i][j] = ' ';
}
for (int i = 0; i < 18; i++) {
track[i][0] = '|';
track[i][sizeof(track[i]) / sizeof(track[i][0])] = '|';
}
//how to initialize track?
}
void Draw() {
for (int i = 0; i < 18; i++) {
cout << track[i] << endl;
}
}
};
【问题讨论】:
-
你可以使用构造函数成员初始化列表。
-
因为用声明初始化它是不好的谁说的?
-
你试过什么?代码是什么样的?
-
你有什么理由不使用
std::vector<std::string>吗? -
让我编辑帖子向您展示 manni66 是不是很糟糕的风格?如果没有,请纠正我
标签: c++ oop constructor char