我正在写一个小程序,需要用户输入。输入是整数,表示学生人数,2个双作为成绩的数字以及学习领域,该领域必须是最大大小为20的字符数组。现在,在编写课程时,我不太确定如何输入为字符数组提供构造函数中的默认值。
这就是我用类和构造函数编写的内容。
class nemandi
{
public:
nemandi(int num, double g1, double g2, char field[]);
void birta();
friend bool operator <(nemandi& nem1, nemandi& nem2);
private:
int studentNumber;
double grade1;
double grade2;
double medaltal();
char fieldOfStudy[20];
};
nemandi::nemandi(int num, double g1, double g2, char field[])
{
studentNumber = num;
grade1 = g1;
grade2 = g2;
fieldOfStudy[20] = field[20];
}
这是行不通的,而且我还无法在线找到解决方案。谁能指出我正确的方向,如何在构造函数中为char数组赋予默认值?
提前致谢 !
编辑:更换fieldOfStudy[20] = field[20];
用memcpy(fieldOfStudy, field, sizeof(fieldOfStudy));
的伎俩!感谢您的帮助:)
fieldOfStudy[20] = field[20];
您只是在从field到fieldOfStudy的位置20处分配了char。使用memcpy代替:
memcpy(fieldOfStudy, field, sizeof(fieldOfStudy));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句