作为 class 成员的数组不接受来自 cin 的输入
Array as member of the class does not take input from cin
我正在尝试定义一个 class,它接受用户的输入并将其存储在 class 'Player'
的数组成员中
for (i = 0; i < n; i++){
cout << "Enter scores: ";
cin >> player1.score[i] >> player2.score[i] ;
if (player1.score[i] > player2.score[i]) {
if (player1.highscore < player1.score[i]){
player1.highscore = player1.score[i] ;
}
}
这里还有 class 定义
class Player
{
public:
Player (int n) ;
int highscore ;
int score[] ;
};
Player::Player (int n) {
int i ;
cout << "Player created" << endl;
for (i = 0; i < n; i++)
score[i] = 0 ;
}
运行程序要求分数后,它停止并输出这个数字:
132767
C++ 中没有运行时大小的数组,并且 int score[]
不会神奇地为您提供大小为 n
的数组。
改用 std::vector<int> score;
。这样,您的构造函数将如下所示:
Player::Player(int n) : score(n) {
std::cout << "Player created\n";
}
score
将被正确初始化为 0
并且 space 持续 n int
秒。
我正在尝试定义一个 class,它接受用户的输入并将其存储在 class 'Player'
的数组成员中for (i = 0; i < n; i++){
cout << "Enter scores: ";
cin >> player1.score[i] >> player2.score[i] ;
if (player1.score[i] > player2.score[i]) {
if (player1.highscore < player1.score[i]){
player1.highscore = player1.score[i] ;
}
}
这里还有 class 定义
class Player
{
public:
Player (int n) ;
int highscore ;
int score[] ;
};
Player::Player (int n) {
int i ;
cout << "Player created" << endl;
for (i = 0; i < n; i++)
score[i] = 0 ;
}
运行程序要求分数后,它停止并输出这个数字: 132767
C++ 中没有运行时大小的数组,并且 int score[]
不会神奇地为您提供大小为 n
的数组。
改用 std::vector<int> score;
。这样,您的构造函数将如下所示:
Player::Player(int n) : score(n) {
std::cout << "Player created\n";
}
score
将被正确初始化为 0
并且 space 持续 n int
秒。