请问报这个错是什么原因
代码本身没有报错,但是运行时报错了
源代码如下:
#include
#include
using namespace std;
class Student {
public:
int id;
string name;
int age;
char sex;
Student(int m_id = -1, string m_name = "None", int m_age = 0, char m_sex = 'M') :
id(m_id),
name(m_name),
age(m_age),
sex(m_sex)
{}
};
class Score {
public:
int math;
int English;
int Chinese;
int art;
int add() {
return math + English + Chinese + art;
}
int average() {
return (math + English + Chinese + art) / 4;
}
};
class A :public Student {
public:
string major;
Score sc;
A();
A(string m_major, Score m_sc) {
major = m_major;
sc = m_sc;
}
~A() {
}
};
int main() {
A temp;
A a[10];
for (int i = 0; i < 10; i++) {
cout << "第" << i + 1 << "个人的学号、姓名、年龄、性别、专业、四门课成绩为:" << endl;
cin >> a[i].id >> a[i].name >> a[i].age >> a[i].sex >> a[i].major
>> a[i].sc.art >> a[i].sc.math >> a[i].sc.English >> a[i].sc.Chinese;
cout << "第" << i + 1 << "个人总分为:" << a[i].sc.add() << "平均分为:" << a[i].sc.average();
}
for (int i = 0; i < 9; i++) {
for (int j = i + 1; j < 10; j++) {
if (a[j].sc.add() > a[i].sc.add())
temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
return 0;
}
你项目里有多个文件中有main函数吗?
39行A类构造函数没写函数体,改为A() {}
无法解析A::A()函数
就是class A 的 A 函数