一系列宣言和操纵

Array of Classes declaration and manipulation

本文关键字:操纵 宣言 一系列      更新时间:2023-10-16

我希望有人可以帮助解释正确的类数量的正确方法,以及如何将元素添加到数组中?

我的代码当前看起来像这样:

class Person
{
private:
    string surname;
    string forename;
    int age;
public:
    Person() { suraname, forename, age; }
    void getSurname();
    void getForename();
    void getAge();
};

最终,该程序将从文件中读取行以填充数组,但首先我只想手动添加,以便我可以看到它正在工作。

因为会有多个人,我的数组需要2D吗?

最终我们将使用" getSurname(("循环遍历数组中的所有姓氏并将其打印到控制台。

在我的脑海中,我知道添加到阵列会看起来像这样(尽管我不确定这是正确的方法(

int main()
{ 
    std::string Person[2][3] = {
      { "Smith", "John", "21" }, 
      { "Farr", "Michael", "35" }
    };
}

如果有人可以帮助解释/提供指导,将不胜感激。

谢谢!

另一个步骤...

修复此问题(因为不正确(:

public:
    Person() { suraname, forename, age; }

必须像

public:
    Person(suraname, forename, age):suraname(suraname), forename(forename), age(age) { }

然后将其重命名为更适合的东西

std::string Person[2][3]

喜欢

std::string ArrayOFFieldsOfPerson[2][3] = ...

现在您可以从更容易处理的东西开始,例如

std::string testSurname{"XoceSurname"};
std::string testForename{"XoceForename"};
std::string testAge{"18"};

然后做

int testAgeInt = std::stoi(testAge);
Person somePerson{testSurname, testForename, testAgeInt };

之后,您已经正确构建了一个人的实例,因为数组可以做以下操作:

Person somePersonArray[k];

然后使用循环填充数组