一、问题及代码
下面提供了类Stu的数据成员定义,和用于测试的main函数,参考如图的运行结果,完成类的定义。
/*
* 文件名称: 类与对象1之学生成绩
* 作 者: 吴 磊
* 完成日期:2016 年 3 月 25 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:
* 问题描述:
* 程序输出:
* 问题分析:
* 算法设计:
*/
#include<iostream>
#include<string>
using namespace std;
class Stu
{
private:
string name; //学生姓名
float chinese; //语文成绩
float math; //数学成绩
public:
void setStudent(string n,float c,float m);
void show();
double average();
double sum();
void setName(string N);
string getName( void);
};
void Stu::setStudent(string a,float c,float m)
{ chinese=c;math=m;
name=a;
}
void Stu::show()
{
cout<<"Name:"<<endl;
cout<<"Score:"<<chinese<<" "<<math<<endl;
cout<<"Average:"<<average()<<" "<<"Sum:"<<sum()<<endl;
}
double Stu::average()
{ return(chinese+math)/2;
}
double Stu::sum()
{ return(chinese+math);
}
string Stu::getName()
{
return name;
}
void Stu::setName(string A)
{
name=A;
}
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;
}
二、运行结果
三、心得体会
刚开始不明白类的定义,要在外面定义函数,然后调用类的对象,编程的过程中常常出现错误,经纠正后终于成功。
四、知识总结
类的定义私有成员和公有成员,数据成员通过成员函数来实现,需要在外面定义数据来实现类。