【问题标题】:C++ Output list of objects with loopC++ 输出带有循环的对象列表
【发布时间】:2015-05-31 06:07:51
【问题描述】:

假设我有一堆名为 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");

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

【问题讨论】:

    标签: c++ arrays loops object


    【解决方案1】:

    这是一个如何分配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;
    }
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 好的,那么我将如何将我的对象添加到数组中?我认为我应该使用指针,除此之外我不太确定如何实现它。
      • 查看我的更新。那里的例子并不理想,它的主要目的是向您展示如何创建这样一个数组以及如何将对象指针放在那里。
      猜你喜欢
      • 2015-05-06
      • 1970-01-01
      • 2020-11-04
      • 2020-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多