いいえ、これは私がテストで持っていた作業でした。 const User IDを持つUserクラスを作成して、各Userオブジェクトが一意のIDを持つようにする必要があります。コンストラクタでconstフィールドを初期化しますが、最初に1つのパラメータを確認してください
キー、名前の2つのパラメータでコンストラクタのオーバーロードを要求されました。キーが0の場合、ユーザーは一意のIDを持ちます。そうでない場合、ユーザーはuserID = -1を取得します。
私はこれをやった:
class User{
private:
static int nbUsers;
const int userID;
char* name;
public:
User(int key, char* name) :userID(nbUsers++){
if (name != NULL){
this->name = new char[strlen(name) + 1];
strcpy(this->name);
}
}
};
最初にキーパラメータが0であるかどうかを確認してから、const userIDを初期化する方法がわかりません。 考えていますか?
Upvotedを、私は 'キーを好むだろうか? nbUsers ++:-1'です。 'static std :: atomic ubUsers'を使用することについても考えてみましょう –
Bathsheba
私は今それを持っています。どうもありがとう! – Arkenn
'initDependingOnKey'を' User'クラスの静的関数にする方がいいでしょう! – jpo38