gpt4 book ai didi

c++ - 类使用初始化技巧创建对象

转载 作者:行者123 更新时间:2023-11-28 02:21:08 25 4
gpt4 key购买 nike

我在电话簿上有程序。与头等舱

class entry
{
string name;
int number;
...
}

第二类处理对象数组

   class phoneBook
{
Entry objs[100];//maximum 100 users
//getter and setter below
...
}

我有 main() 函数来控制它们。

int main(){
phoneBook p;
p.count(count);
p.add(count,name,number);
p.print();
...
}

我的问题是:

 phoneBook p;

每次调用此行时,它都会初始化 phoneBook 类中的 objs[100]。假设我正在估算 objs[2],那么我的 objs[1] 将为空。请问如何修复我的结构?

最佳答案

您的phoneBook 类应该只在必要时分配空间。由于您不知道条目的内容,因此在初始化时设置条目值毫无意义。

我强烈建议您使用比数组更动态的结构,例如 std::vectorstd::liststd::map

您的phoneBook 类需要方法来*追加、插入或读取新条目。这将允许您用合理的数据填充分配的空间。

如果您为条目使用数组,则只会为条目分配空间。 append 方法最初会在 objs[0] 处放置一个新条目。 objs[1] 的下一个条目等等。

此外,在 StackOverflow 或网络上搜索“c++ 电话簿示例”,它应该会产生大量示例供您思考。请记住,在此处发布之前先进行搜索。或在此处发布之前先进行调试。

关于c++ - 类使用初始化技巧创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32429179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com