永发信息网

c++里面使用动态分配内存,创建某个类的对象数组。。如何调用带参数的构造函数?。。

答案:6  悬赏:60  手机版
解决时间 2021-05-20 08:40
  • 提问者网友:美人性情
  • 2021-05-19 19:54
cout << "请输入学生个数:";
cin >> n;
Student *student;//Student是一个类。。
student = new Student[n];
问题来嘞。。我的student数组的数据是要手动输入的。。类里面有name,number等成员。。现在该如何初始化?。。
(该类里面除了构造函数,以及构造函数的重载,没其他成员函数了。。怎么办啊)
最佳答案
  • 五星知识达人网友:人间朝暮
  • 2021-05-19 20:18
你可以输入以后再拷贝到数组里去(operator=),因为定义对象数组时就必须初始化每个对象,所以
student = new Student[n];
这一句实际上已经调用了每个对象的无参数构造函数,如果你没有提供一个无参数的构造函数那么这个句子会报错

另一种方法是
Student** student;
student = new Student*[n];

// 输入第i学生的信息
// student[i] = new Student(构造参数);

这样就可以实现你说的输入以后再根据输入信息构造了
全部回答
  • 1楼网友:风格不统一
  • 2021-05-20 02:18
可增加成员函数。SETSTUDENT,GETSTUDENT;
  • 2楼网友:天凉才是好个秋
  • 2021-05-20 01:18
如果你的成员都是public的 那么可以用student[i].name来赋值 如果是private 那么得就得在类中定义接口函数来进行赋值
  • 3楼网友:荒野風
  • 2021-05-19 23:48
既然类里没有其它函数的话,你可以把那些要输入的成员定位protected类或public类,在类外调用输入就OK了。
  • 4楼网友:洎扰庸人
  • 2021-05-19 22:31
构造函数有个初始化列表 你可以在分配的时候把数据传输给成员函数
  • 5楼网友:神也偏爱
  • 2021-05-19 21:05
你可以写一个添加的函数在类里,然后循环输入
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯