📌  相关文章
📜  在C ++中将对象数组作为参数传递(1)

📅  最后修改于: 2023-12-03 14:51:14.703000             🧑  作者: Mango

在C++中将对象数组作为参数传递

在C++中,我们可以将对象数组作为参数传递给函数。对象数组是由一组相同类型的对象组成的数组。它们可以是基本数据类型(如int,float等)或用户自定义的类型(如结构体,类等)。

传递对象数组

我们可以通过以下方式将对象数组作为参数传递:

void function_name(object_type array_name[], int size)
{
    // function code
}

这里,我们定义了一个名为function_name的函数,并将对象类型为object_type的数组array_name和数组的大小size作为参数传递。在函数中,我们可以像操作普通数组一样操作对象数组。

示例

下面是一个示例程序,演示了如何将对象数组作为参数传递给函数。

#include <iostream>

using namespace std;

class Book
{
    public:
        string title;
        string author;
        int pages;
};

void display(Book book_array[], int size) 
{
    for (int i = 0; i < size; i++) 
    {
        cout << "Book " << i + 1 << "\n";
        cout << "Title: " << book_array[i].title << endl;
        cout << "Author: " << book_array[i].author << endl;
        cout << "Pages: " << book_array[i].pages << "\n\n";
    }
}

int main()
{
    // create an array of books
    Book books[3];
    
    // initialize each book
    books[0].title = "The Great Gatsby";
    books[0].author = "F. Scott Fitzgerald";
    books[0].pages = 180;
    
    books[1].title = "To Kill a Mockingbird";
    books[1].author = "Harper Lee";
    books[1].pages = 281;
    
    books[2].title = "The Catcher in the Rye";
    books[2].author = "J.D. Salinger";
    books[2].pages = 220;
    
    // display the books
    display(books, 3);
    
    return 0;
}

输出:

Book 1
Title: The Great Gatsby
Author: F. Scott Fitzgerald
Pages: 180

Book 2
Title: To Kill a Mockingbird
Author: Harper Lee
Pages: 281

Book 3
Title: The Catcher in the Rye
Author: J.D. Salinger
Pages: 220

在上面的示例中,我们定义了一个名为Book的类,并在main函数中创建了一个包含3本书的books数组。然后,我们将books数组和数组的大小3作为参数传递到名为display的函数中。在display函数中,我们使用循环遍历每本书,并将其打印到控制台上。

注意事项

当我们传递对象数组作为函数参数时,它们会被复制到函数中的一个新数组。这意味着如果我们在函数中修改了数组,那么原始数组不会受到影响。如果我们想要修改原始数组,可以将对象数组作为指针传递,并在函数中使用指针操作原始数组。这在后续文章中会有更详细的介绍。

结论

在C++中,我们可以将对象数组作为参数传递给函数,并像操作普通数组一样操作对象数组。这为我们提供了更为灵活的方法来处理数据。