0

プログラミングの初心者です。使用している用語が間違っている場合は申し訳ありません。

ユーザーが食品を追加、変更、印刷、および削除できるコンソール アプリを作成する必要があります。

私は私の食べ物のためのクラスを作りました

class food{
private:
bool isBasic;
nmfvg MeatOrOther;
string name;
public:
food::food(){
        isBasic=true;
        MeatOrOther = NONE;
        name = "";
}

food::food(string _name,bool _isBasic, nmfvg _MeatOrOther){
isBasic=_isBasic;
MeatOrOther=_MeatOrOther;
name = _name;
}};

そして、ユーザーが作っている食べ物をタイプの食べ物の配列に入れます。

food foods[100];
food temp("food1",true,VEG); 
foods[0]=temp;

1-食品の保存方法はこれでいいですか?2-食品の名前[0]を印刷するにはどうすればよいですか?

4

2 に答える 2

1

より良い方法として、食品オブジェクトを次のような配列ではなく std::vector に保持することができます。

std::vector<food> foods;
foods.push_back(temp("food1",true,VEG));

name メンバーを出力するには、 get メソッドを public にする必要がある場合があります。

std::string food::GetName()
{
   return name;
} 

次に、次の方法で名前を印刷できます。

std::cout<<foods[0].GetName();
于 2013-04-04T05:44:33.977 に答える
1

大丈夫ですが、おそらくvector良くなるでしょう。を名前nameに追加して印刷できますaccessor

class food {
//
public:
   string get_name() const { return name; }
};

std::cout << foods[0].get_name() << std::endl;

operator <<または出力に何らかの関数/を使用するか、nameパブリックメンバーを作成してから単純に使用します

std::cout << foods[0].name << std::endl;
于 2013-04-04T05:44:12.347 に答える