C++ 带有参数和数组输入的构造函数不';t工作c++;
我面临一个用数组用户输入参数化构造函数的问题 我的问题是: 创建一个名为C++ 带有参数和数组输入的构造函数不';t工作c++;,c++,C++,我面临一个用数组用户输入参数化构造函数的问题 我的问题是: 创建一个名为Student的类,并使用Student(inti,string n,double s)等参数创建一个构造函数有三个名为intid,string name,double score的私有变量用于输出。您需要定义所有成员函数,包括构造函数。然后在主函数中定义3个学生。获取对象的值并输出详细信息 我的代码如下: #include <bits/stdc++.h> #include <cstring> usi
Student
的类,并使用Student(inti,string n,double s)等参数创建一个构造函数
有三个名为intid,string name,double score的私有变量
用于输出。您需要定义所有成员函数,包括构造函数。然后在主函数中定义3个学生。获取对象的值并输出详细信息
我的代码如下:
#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;
}
#包括
#包括
使用名称空间std;
班级学生
{
私人:
int-id;
字符串名;
双倍得分;
公众:
学生();
学生(整数i,字符串n,双s)
{
id=i;
name=n;
得分=s;
}
int getID()
{
cin>>id;
返回id;
}
字符串getName()
{
getline(cin,name);
返回名称;
}
双倍得分()
{
cin>>得分;
返回分数;
}
作废打印()
{
cout当前代码甚至不可编译,您应该会得到一个错误:未定义对Student::Student()
的引用。您的构造函数缺少正文。请将Student();
更改为Student(){}
尝试在类本身中给出值,我的意思是在声明名称时,…等变量。
看看这是否给了你任何其他的输出,如果它有效,那么试着手动创建对象而不循环如果它有效,那么你的循环很可能有问题
你确定它正在构建吗?<代码>未定义的指向学生::我使用代码块,它显示了你在这里所说的生成日志中的错误,但是在主编辑器中没有显示任何错误。我找不到任何解决方案。谢谢。它很有用。非常感谢帮助我。不客气,我很高兴能帮助。如果答案解决了,请考虑接受/接受它。请考虑评论,这是更适合发表评论而不是回答。是的,但我没有足够的代表发表评论,所以,我这样做了,对不起,顺便说一句!是的,我看到你的意图只是帮助,但stackoverflow有特定的程序使系统对每个人都更有利。没关系,我们都是通过犯错误来学习的:)是的,谢谢你的帮助,我威尔不会再重复了^^