C++ 如何将元素添加到对象向量并打印它们?
我们的老师告诉我们创建一个对象向量并对其执行操作,但我不知道如何正确地做到这一点:我试图用最少的数据制作一个简单的项目,这样我就可以知道我在做什么 我有这门课C++ 如何将元素添加到对象向量并打印它们?,c++,object,vector,printing,iterator,C++,Object,Vector,Printing,Iterator,我们的老师告诉我们创建一个对象向量并对其执行操作,但我不知道如何正确地做到这一点:我试图用最少的数据制作一个简单的项目,这样我就可以知道我在做什么 我有这门课 class Obj { private: int num; public: Obj(); void setNum(int nuovo_num); int getNum(); }; 然后这个,有一个Obj向量 class VettObj{
class Obj {
private:
int num;
public:
Obj();
void setNum(int nuovo_num);
int getNum();
};
然后这个,有一个Obj向量
class VettObj{
private:
vector<Obj> vett;
public:
VettObj();
void setVett();
void stampaVett();
};
class-VettObj{
私人:
病媒兽医;
公众:
VettObj();
void setVett();
void stampaVett();
};
我最初的想法是使用一个迭代器,但我只是把事情搞得一团糟,在几乎毫无用处的研究下,我决定使用一个通用的整数计数器
我发现我不应该在VettObj构造函数中写入任何内容,因为它会自动初始化内容,所以我将其留空
添加元素的方法如下
void VettObj::setVett(){
Obj temp;
int i;
i = 0;
while(i < 5){
temp.setNum(10);
vett.push_back(temp);
i++;
}
}
void-VettObj::setVett(){
Obj温度;
int i;
i=0;
而(i<5){
温度设定值(10);
检查推回(温度);
i++;
}
}
还有那个打印元素的
void VettObj::stampaVett(){
int i;
i = 0;
while(i < 5){
vett[i].getNum();
i++;
}
}
void-VettObj::stampaVett(){
int i;
i=0;
而(i<5){
vett[i].getNum();
i++;
}
}
当我编译时,一切都很顺利,但当我运行程序时,屏幕上什么也看不到。我不想大部分使用向量函数(如果没有必要的话),因为我看到很多人都可以这样做。我也很想知道如何使用迭代器。请提供帮助???您实际上没有使用stampaVett()方法打印任何内容。 您可以尝试:
void VettObj::stampaVett(){
int i = 0;
while (i < 5){
std::cout << vett[i].getNum();
i++;
}
}
void-VettObj::stampaVett(){
int i=0;
而(i<5){
std::cout解决此类问题的正确工具是调试器。在询问堆栈溢出问题之前,您应该逐行检查代码。有关更多帮助,请阅读。至少,您应该[编辑]您的问题将包括一个重现您的问题的示例,以及您在调试器中所做的观察。提出一个特定的问题。您的程序起源的详细背景故事与任何事情都无关。您可能应该从“Hello World”开始.你为什么认为在你的程序中,任何东西都会被打印在屏幕上?它不会神奇地读懂你的心思,并做你想做的事。是的,就是这样:最后,我所做的研究并没有白费。谢谢。