问题及代码:
main主函数的代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称: 图书馆的书 .cpp
*作 者:莉莉
*完成日期:2015年3月18日
*版 本 号:v1.0
*问题描述:下面提供了类Stu的数据成员定义,和用于测试的main函数,参考如图的运行结果,完成类的定义,并用多文件形式组织程序
*/
#include<iostream>
#include<string>
#include "grade.h"
using namespace std;
int main()
{
Stu s1,s2;
s1.setStudent("Lin daiyu", 98, 96); //对象置初值
s2.setStudent("Jia baoyu", 90, 88); //对象置初值
s1.show();//打印信息
s2.show();//打印信息
s1.setName("xue baochai");//重新置p1对象的名字
s1.show();
cout<<"s1.Name: "<<s1.getName()<<endl;//打印对象的名字
cout<<"s1.average: "<<s1.average()<<endl;//打印对象的成绩
return 0;
}
类的声明:
#ifndef GRADE_H_INCLUDED
#define GRADE_H_INCLUDED
#include<string>
using namespace std;
class Stu
{
private:
string name; //学生姓名
double chinese; //语文成绩
double math; //数学成绩
//接下去写
public:
void setStudent(string ,double,double);
void setName(string);
void show();
double average();
double sum();
string getName();
};
#endif // GRADE_H_INCLUDED
成员函数的定义:
#include<iostream>
#include <string>
#include "grade.h"
using namespace std;
void Stu::setStudent(string names,double ch,double ma)
{
name=names;
chinese=ch;
math=ma;
}
void Stu::show()
{
cout<<"name:"<<name<<endl;
cout<<"score:"<<chinese<<'\t'<<math<<endl;
cout<<"average:"<<average()<<'\t'<<"sum:"<<sum()<<endl;
}
double Stu::sum()
{
return chinese+math;
}
double Stu::average()
{
return (chinese+math)/2;
}
void Stu::setName(string na)
{
name=na;
}
string Stu::getName()
{
return name;
}
运行结果:
心得体会:在写程序的过程中还是比较顺利的,但是比较容易发的一个错误就是string在多文件的时候老是忘记都先声明,导致错误!看来贺老的视频还是要再看一遍啊