正在学习类和接口分离与现实
题目是输入成绩,输出并求均值,要求用类和接口分离与现实(书上的作业)
//类的头文件
#ifndef AVERAGEGRADE_GRADELIST_H
#define AVERAGEGRADE_GRADELIST_H
#endif //AVERAGEGRADE_GRADELIST_H
#include <iostream>
class GradeList
{
public:
explicit GradeList(std::string);
void setGradeList(std::string);
std::string getGradeList() const;
void DisplayMessage() const;
static void range();
private:
std::string coursename;
};
//函数关联.h的.cpp文件
#include "GradeList.h"
#include <iostream>
#include<string>
using namespace std;
GradeList::GradeList(string name)
{
setGradeList(name);
}
void GradeList::setGradeList(string name)
{
if(name.size()<=25) coursename=name;
else
{
coursename=name.substr(0,25);
cerr<<"Name\""<<name<<"\"exceeds maxium length"<<endl;
}
}
string GradeList::getGradeList()const
{
return coursename;
}
void GradeList::DisplayMessage()const
{
cout<<"Welcome to the grade list for\n"<<getGradeList()<<"!\n"<<endl;
}
void GradeList::range()
{
int total=0;
int i=1,n;
cout<<"Hw many students in your class?";
cin>>n;
while(i<=n)
{
cout<<"Enter grade:";
int grade ;
cin>>grade;
total+=grade;
i++;
}
float average =total/10;
cout<<"\ntotal of all grades is"<<total<<endl;
cout<<"Class average is"<<average<<endl;
}
//main函数
#include "GradeList.h"
int main()
{
GradeList myGradeList("C++");
myGradeList.DisplayMessage() ;
myGradeList.range();
return 0;
}
但是最后报错 collect2.exe: error: ld returned 1 exit status ninja: build stopped: subcommand failed. 不知道问题在哪,求大佬解答