C++学生成绩,构造函数,析构函数

x519942447 2017-11-25 12:13:34

下面是自己写的程序,不会改错,请大家帮忙看一下并改正,可以的话告诉我原因,谢谢!!!
#include <iostream>
#include <string>
using namespace std;

class Student
{
public:
Student(int,int,int);
Student(Student &s);
void getinformation();
void inputinformation();
void computesum();
int getNum();
int getEng();
int getCom();
int getSum();

~Student(){};
private:
int number;
int english;
int computer;


};
Student::Student(int Num,int Eng,int Com):number(Num),english(Eng),computer(Com)
{
number=Num;
english=Eng;
computer=Com;
}
int Student::getNum()
{
return number;
}
int Student::getEng()
{
return english;
}
int Student::getCom()
{
return computer;
}
int Student::getSum()
{
return english+computer;
}

void Student::getinformation()
{
cout<<"编号: "<<getNum()<<endl;
cout<<"英语成绩: "<<getEng()<<endl;
cout<<"计算机成绩: "<<getCom()<<endl;

}
void Student::inputinformation()//输入函数
{
int num,eng,com;
cin>>num;
cin>>eng;
cin>>com;
}

void inputinformation()
{
int num,eng,com;

cout<<"编号: ";
cin>>num;
cout<<"英语成绩: ";
cin>>eng;
cout<<endl;
cout<<"计算机成绩: ";
cin>>com;

Student s(num,eng,com);

s.getinformation();


}
void Student::computesum()
{
cout<<"考生成绩总和"<<english+computer<<endl;
}
void firstname(Student a[],int num)
{
int i,j;
for(i=0;i<num-1;i++)
{
a[i].getSum()>=a[i+1].getSum()?j=i:j=i+1;
}
cout<<"编号"<<a[j].getNum()<<"总成绩"<<a[j].getSum()<<endl;
}
void firstname(Student number[],int num)
{
int i,j;
for(i=0;i<num-1;i++)
{
number[i].getSum()>=number[i+1].getSum()?j=i:j=i+1;
}
cout<<"编号"<<number[j].getNum()<<"总成绩"<<number[j].getSum()<<endl;
}

int main()
{
int n;
cout<<"学生数量;";
cin>>n;
void firstname(Student a[],int num);//函数声明
int i;
Student stu[5];
for(i=0;i<5;i++)
{
stu[i].inputinformation();
}
firstname(stu,5);

return 0;
}

...全文
255 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
paschen 版主 2017-11-27
  • 打赏
  • 举报
回复
其次,Student没有默认构造函数,Student stu[5];编译器不知如何构造你的对象
paschen 版主 2017-11-27
  • 打赏
  • 举报
回复
firstname 函数定义了两次,而且参数类型完全相同,不能够成重载
codedoctor 2017-11-25
  • 打赏
  • 举报
回复
在类内部加一个默认构造函数就行了,因为new[]不支持其余构造函数 如下/.///的部分为添加的
class Student
{
public:
	Student() {}///////////////
	Student(int, int, int);
	Student(Student &s);
	void getinformation();
	void inputinformation();
	void computesum();
	int getNum();
	int getEng();
	int getCom();
	int getSum();

	~Student() {};
private:
	int number;
	int english;
	int computer;


};

64,687

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧