问题及代码:
main.cpp
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:尚 月
* 完成日期:2015年 3 月 21 日
* 版 本 号:v1.0
*
* 问题描述:下面提供了类Stu的数据成员定义,和用于测试的main函数,参考如图的运行结果,完成类的定义,并用多文件形式组织程序
* 程序输入:
* 程序输出:重置后对象的名字,对象的成绩
*/
#include <iostream>
#include<cstring>
#include "Stu.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;
}
Stu.h 头文件
#ifndef STU_H_INCLUDED
#define STU_H_INCLUDED
#include <iostream>
#include<cstring>
using namespace std;
class Stu
{
private:
string name; //学生姓名
float chinese; //语文成绩
float math; //数学成绩
public:
float average(); //学生平均成绩
float sum(); //学生总成绩
void setStudent(string,float,float); //初置对象
void show(); //打印信息
void setName(string);
string getName();
};
#endif // STU_H_INCLUDED
Stu.cpp
#include "Stu.h"
float Stu::average()
{
return (chinese+math)/2;
}
float Stu::sum()
{
return chinese+math;
}
void Stu::setStudent(string Name,float Chinese,float Math)
{
name=Name;
chinese=Chinese;
math=Math;
}
void Stu::show()
{
cout<<"Name: "<<name<<endl;
cout<<"Score: "<<chinese<<" "<<math<<endl;
cout<<"average: "<<average()<<" "<<"Sum: "<<sum()<<endl<<endl;
}
void Stu::setName(string Name)
{
name=Name;
}
string Stu::getName()
{
return name;
}
运行结果:
总结:有string 类型要加using namespace才能运行成功。。。