输出带有循环的对象列表

C++ Output list of objects with loop

本文关键字:对象 列表 循环 输出带      更新时间:2023-10-16

假设我有一组名为Customer1 - Customer4的对象

我希望能够用for循环列出这些对象,以便我可以一个接一个地显示它们的详细信息。下面是我用来创建这些对象的构造函数:

Customers *Customer1 = new Customers("Eric Eddinger", "713 Pleasant Street, Crown Point, SA 2304", "83885445","Mr");
Customers *Customer2 = new Customers("Jackson Jean", "2311 Mill Road, Irwin, SA 3363", "8665421","Mr");
Customers *Customer3 = new Customers("Maye Min", "5 Evergreen Lane, Wisconsin, WA 8232", "77854126","Mrs");
Customers *Customer4 = new Customers("Ramon Rolfes", "689 River Road, Bensalem, SA 1239", "87226474","Mr");

用一个循环输出所有这些对象的最好方法是什么?我应该把所有这些对象都添加到数组中吗?如果有,我该怎么做呢?

下面是一个如何赋值Customer数组并遍历它的示例:

#include <iostream>
class Customer
{
public:
    std::string m_name, m_address, m_num, m_title;
    Customer(std::string name, std::string address, std::string num, std::string title) :
        m_name(name), m_address(address), m_num(num), m_title(title)
    {}
};
int main() {
    Customer customers[] = {
        Customer("Eric Eddinger", "713 Pleasant Street, Crown Point, SA 2304", "83885445", "Mr"),
        Customer("Jackson Jean", "2311 Mill Road, Irwin, SA 3363", "8665421", "Mr"),
        Customer("Maye Min", "5 Evergreen Lane, Wisconsin, WA 8232", "77854126", "Mrs"),
        Customer("Ramon Rolfes", "689 River Road, Bensalem, SA 1239", "87226474", "Mr")
    };
    for (int i = 0; i < 4; i++)
        std::cout   << "Name: " << customers[i].m_name
                    << " Address: " << customers[i].m_address
                    << " Num: " << customers[i].m_num
                    << " Title: " << customers[i].m_title << std::endl;
    return 0;
}

是的,您需要将您的对象存储在数组中,否则您不能使用建议的循环方法。

// create the array
Customers* array[SIZE];
// put the object pointers there
array[0] = new Customers(...);
array[1] = new Customers(...);
...