c++里面使用动态分配内存,创建某个类的对象数组。。如何调用带参数的构造函数?。。
cout<<"请输入学生个数:";cin>>n;Student*student;//Student是一个类。。student=newStudent[n];问题来嘞。。我的...
cout << "请输入学生个数:";
cin >> n;
Student *student;//Student是一个类。。
student = new Student[n];
问题来嘞。。我的student数组的数据是要手动输入的。。类里面有name,number等成员。。现在该如何初始化?。。
(该类里面除了构造函数,以及构造函数的重载,没其他成员函数了。。怎么办啊) 展开
cin >> n;
Student *student;//Student是一个类。。
student = new Student[n];
问题来嘞。。我的student数组的数据是要手动输入的。。类里面有name,number等成员。。现在该如何初始化?。。
(该类里面除了构造函数,以及构造函数的重载,没其他成员函数了。。怎么办啊) 展开
4个回答
2013-06-10
展开全部
既然类里没有其它函数的话,你可以把那些要输入的成员定位protected类或public类,在类外调用输入就OK了。
2013-06-10
展开全部
构造函数有个初始化列表 你可以在分配的时候把数据传输给成员函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-10
展开全部
你可以写一个添加的函数在类里,然后循环输入
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-10
展开全部
你可以输入以后再拷贝到数组里去(operator=),因为定义对象数组时就必须初始化每个对象,所以
student = new Student[n];
这一句实际上已经调用了每个对象的无参数构造函数,如果你没有提供一个无参数的构造函数那么这个句子会报错
另一种方法是
Student** student;
student = new Student*[n];
// 输入第i学生的信息
// student[i] = new Student(构造参数);
这样就可以实现你说的输入以后再根据输入信息构造了
student = new Student[n];
这一句实际上已经调用了每个对象的无参数构造函数,如果你没有提供一个无参数的构造函数那么这个句子会报错
另一种方法是
Student** student;
student = new Student*[n];
// 输入第i学生的信息
// student[i] = new Student(构造参数);
这样就可以实现你说的输入以后再根据输入信息构造了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询