Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;我有一个类的数组,我想访问其中的元素_C++_Arrays_Class - Fatal编程技术网

C++ C++;我有一个类的数组,我想访问其中的元素

C++ C++;我有一个类的数组,我想访问其中的元素,c++,arrays,class,C++,Arrays,Class,如果我使用的术语是错误的,我对编程一无所知 我必须创建一个控制台应用程序,用户可以添加、修改、打印和删除食物项目 我为我的食物上了课 class food{ private: bool isBasic; nmfvg MeatOrOther; string name; public: food::food(){ isBasic=true; MeatOrOther = NONE; name = ""; } food::food(string _nam

如果我使用的术语是错误的,我对编程一无所知

我必须创建一个控制台应用程序,用户可以添加、修改、打印和删除食物项目

我为我的食物上了课

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;
这是我储存食物的正确方式吗?
2-如果是这样的话,我该如何开始打印食物的名称[0]?

这没关系,但可能
vector
会更好。 您可以通过在name中添加
访问者来打印
name

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

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

更好的做法是,可以将食物对象保存在std::vector中,而不是像以下那样的数组中:

std::vector<food> foods;
foods.push_back(temp("food1",true,VEG));
然后,您可以通过以下方式打印名称:

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

std::coutof课程。为什么函数,即不修改的对象不应该是常量?为什么我们不应该在const对象上使用GetName()?
std::string food::GetName()
{
   return name;
} 
std::cout<<foods[0].GetName();