我面临的问题参数化构造函数与数组用户输入。
我的问题是:
创建一个名为Student的类,并创建一个具有参数的构造函数,如Student(int i,string n,double s)。有三个私有变量,分别为int id,string name,double score,使用int getID()、string getName()、double getScore()获取输入,使用void print()输出。您需要定义包括构造函数在内的所有成员函数。然后在主函数中定义3个Student,获取对象的值并输出详细信息。
我的代码如下:
#include <bits/stdc++.h>
#include <cstring>
using namespace std;
class Student
{
private :
int id;
string name;
double score;
public:
Student();
Student (int i, string n, double s)
{
id = i;
name = n;
score = s;
}
int getID()
{
cin >> id;
return id;
}
string getName()
{
getline(cin,name);
return name;
}
double getScore()
{
cin >> score;
return score;
}
void print()
{
cout << id << " " << name << " " << score << " " << endl;
}
};
int main()
{
Student stuArr[10];
int i;
for(i = 0; i < 3; i++)
{
cout << "Student " << i + 1 << endl;
cout << "Enter ID: " << endl;
stuArr[i].getID();
cout << "Enter name: " << endl;
stuArr[i].getName();
cout << "Enter marks: " << endl;
stuArr[i].getScore();
}
for(i = 0; i < 3; i++)
{
stuArr[i].print();
}
return 0;
}
但我的代码不起作用。Id不显示任何输出。它构建但不给出任何输出。
当前代码甚至不可编译,您将得到一个错误:对student::student()
的未定义引用。您的构造函数缺少身体。将student();
更改为student(){}
。