将输入读取到动态分配的对象数组中是一个常见的编程任务,尤其在C++等语言中。下面是一个基本的步骤指南,以及一个简单的C++示例代码。
动态分配的对象数组意味着数组的大小不是在编译时确定的,而是在运行时根据需要分配的。这通常通过使用new
操作符来实现。
int
, double
等。#include <iostream>
#include <string>
class Person {
public:
std::string name;
int age;
Person() : name(""), age(0) {}
Person(const std::string& n, int a) : name(n), age(a) {}
};
int main() {
int size;
std::cout << "Enter the number of persons: ";
std::cin >> size;
// 动态分配Person对象数组
Person* persons = new Person[size];
// 读取输入到数组中
for (int i = 0; i < size; ++i) {
std::string name;
int age;
std::cout << "Enter name for person " << i + 1 << ": ";
std::cin >> name;
std::cout << "Enter age for person " << i + 1 << ": ";
std::cin >> age;
persons[i] = Person(name, age);
}
// 输出数组内容
for (int i = 0; i < size; ++i) {
std::cout << "Person " << i + 1 << ": " << persons[i].name << ", " << persons[i].age << std::endl;
}
// 释放动态分配的内存
delete[] persons;
return 0;
}
delete[]
释放动态分配的数组。确保在不再需要数组时释放其内存。通过上述步骤和示例代码,你可以正确地将输入读取到动态分配的对象数组中,并处理可能遇到的问题。
领取专属 10元无门槛券
手把手带您无忧上云