第三周——基于对象的程序设计——成绩类多文件组织

问题及代码:

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;
}


运行结果:

第三周——基于对象的程序设计——成绩类多文件组织_第1张图片

心得体会:在写程序的过程中还是比较顺利的,但是比较容易发的一个错误就是string在多文件的时候老是忘记都先声明,导致错误!看来贺老的视频还是要再看一遍啊

你可能感兴趣的:(第三周——基于对象的程序设计——成绩类多文件组织)