我有电话簿上的节目。第一节课
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;
每次调用此行时,它都会初始化类objs[100]
中的phoneBook
。假设我正在使用objs [2],那么我的objs [1]将是空的。请问如何解决我的结构?
答案 0 :(得分:2)
如果需要,您的phoneBook
课程应该只分配空间。由于您不知道条目的内容,因此在初始化时,设置条目值是没有意义的。
我强烈建议您使用比数组更动态的结构,例如std::vector
,std::list
或std::map
。
您的phoneBook
类需要方法*追加,或插入或读取新条目。这将允许您使用合理的数据填充分配的空格。
如果您使用数组作为条目,则只为条目分配空间。 append
方法最初会在objs[0]
处添加新条目。 objs[1]
的下一个条目,依此类推。
此外,搜索StackOverflow或网页以获取" c ++电话簿示例"这应该会让你思考一堆例子。请记住,在发布此处之前先搜索。或者在发布之前先调试。