📅  最后修改于: 2023-12-03 14:51:14.703000             🧑  作者: Mango
在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++中,我们可以将对象数组作为参数传递给函数,并像操作普通数组一样操作对象数组。这为我们提供了更为灵活的方法来处理数据。