c++中的类显示列表
Display List of Class in C++
你好,我是新的编程,我试图在c++中显示类的列表我试过了:
#include <string>
#include <list>
class Person
{
public:
std::string Name;
Person();
virtual ~Person();
}
#include "Person.h"
#include <iostream>
#include <conio.h>
#include <list>
#include <string>
using namespace std;
int main()
{
Person p;
list<Person> lp;
p.Name= "Smith";
lp.push_back(p);
while (it != lp.end())
{
cout << *it;
it++;
}
_getch();
return 0;
}
但是没有显示,我不知道为什么!有人能帮帮我吗?谢谢你
实际上,cout << *it;
部分很好。
你忽略了为你的类重载operator<<
。为了确保一致性,我可能会在创建Person时将其更改为需要一个名称,然后使Name
成为私有成员,以便外部代码不会弄乱它:
class Person
{
std::string Name;
public:
Person(std::string Name) : Name(Name) {}
virtual ~Person();
friend std::ostream &operator<<(std::ostream &os, Person const &p) {
return os << p.Name;
}
}
那么创建和打印列表的代码可能看起来像这样:
std::list<Person> people { "Smith", "Jones" };
for ( auto const &p : people)
std::cout << p << "n";
如果要打印出Person::Name
字段,则必须更改打印语句
cout << *it;
cout << it->Name;
将打印出Person
实例中的name字段。
或者,您可以为您的类重载operator <<
,如@JerryCoffin的回答所述。
相关文章:
- 如何告诉 gcc 显示您使用的优化标志列表
- 动态填充的组合框不显示文本,列表未定义
- 程序输入名称和高度并显示它。我不知道如何显示列表中最高人的姓名和身高
- 如何在函数运行时逐个显示列表项
- 使用 Struct 进行 mp3 播放器模拟C++(不需要播放 mp3 的唯一显示列表)
- 如何在 c++ 中显示列表
- OpenGL显示列表比即时模式慢
- 链接列表:在C++中按物理和逻辑顺序显示列表
- OpenGL 显示列表优化
- 正在删除OpenGL中的嵌套显示列表
- 旋转和转换显示列表
- 在头文件opengl中声明所有显示列表
- 显示列表在使用一次时是否比固定模式更好
- 不显示列表中选定的选项
- OpenGL显示列表块glEnable(GL_COLOR_MATERIAL)
- 如何在Repeater内部的UI QML (QT)中显示列表中的值
- 显示列表<矢量<int>>元素
- c++中的类显示列表
- "R6025 - pure virtual call" in 显示列表, OpenGL, C++
- 显示列表无法正常工作