0
我目前正在鑽研C++的第一次;我期待來自用戶的輸入設置「playerName」所以我下面的代碼:cin的問題和設置類變量
#pragma once
#include <iostream>
using namespace std;
class Player
{
private:
char* playerName;
double playerBalance;
public:
Player();
~Player();
//getters
char* getName(void);
double getBalance(void);
//setters
void setName()
{
cout << "Please enter your name: ";
cin >> playerName;
}
void setBalance()
{
cout << "Please enter a player balance: ";
cin >> playerBalance;
}
};
我打電話都設置平衡和名稱,像這樣:
Player instance
instance.setBalance();
cout << instance.getBalance() << endl; //Test for input
instance.setName();
它將接受playerBalance值和curn回來了但是它不會允許與playerName同樣提前
由於它可能只是我缺乏瞭解或語法錯誤,現在我不知道
謝謝,我有一個後續如果可能的話,當添加:playerName =新的char [NAME_LENGTH_MAX],我得到的錯誤; 「標識符」NAME_LENGHT_MAX「未定義」 我必須包含一些東西到player.cpp構造函數 – Ziconius
這就是您設置名稱的最大長度的地方。理想情況下,您會使用常量,因爲長度限制會影響代碼其他部分的工作方式(即驗證輸入)。不過,我建議你不要使用字符數組,因爲你很可能不需要這種性能。只需使用'std :: string',讓你的生活更輕鬆。 –
確定使用std :: string方法,非常感謝! – Ziconius