如何在 C++ 中打印对象向量?
Posted
技术标签:
【中文标题】如何在 C++ 中打印对象向量?【英文标题】:How to print a vector of objects in c++? 【发布时间】:2021-09-13 01:53:17 【问题描述】:我有一个 Customer 类的向量,其中包含我想打印出来的名称字符串等数据成员。使用 cout
vector<Customer> customerVector;
Customer myCustomer(name);
customerVector.push_back(myCustomer);
cout << customerVector[0];
我试过做类似的事情
cout << customerVector[0].getName;
但到目前为止还没有运气。
【问题讨论】:
getName
是一个函数吗?然后cout << customerVector[0].getName();
.
【参考方案1】:
如果您计划经常打印 Customer
类的内容,重载流插入运算符可能是有意义的。
这将使您能够实现您正在寻找的目标。
class Customer
public:
Customer( std::string name, int age )
: name_ std::move( name )
, age_ age
friend std::ostream& operator << ( std::ostream& os, const Customer& customer )
os << "Name: " << customer.name_
<< " "
<< "Age: " << customer.age_;
return os;
private:
std::string name_;
int age_;
;
int main( )
Customer customer "Bill", 42 ;
std::cout << customer << '\n';
【讨论】:
【参考方案2】:这取决于你的对象是如何编写的。
如果你的客户是这样的:
class cus
private:
string name;
public:
string getname()return name;
;
那么你可以使用cout<<v[0].getname()
或者如果您的名字是公开的,您可以轻松使用cout<<v[0].name
【讨论】:
以上是关于如何在 C++ 中打印对象向量?的主要内容,如果未能解决你的问题,请参考以下文章