Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 带有参数和数组输入的构造函数不';t工作c++;_C++ - Fatal编程技术网

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有特定的程序使系统对每个人都更有利。没关系,我们都是通过犯错误来学习的:)是的,谢谢你的帮助,我威尔不会再重复了^^