C++实验一 类与对象(11)
时间:2025-04-08
时间:2025-04-08
五、实验结论与体会
实验中程序按要求由简到繁一步一步实现要执行的功能。
在第一步中,我建立了三个账户,并在main函数中显示三个账户的存款余额,但是在main函数中,首先我没有写account a,b,c;着句话,所以程序编译时出现错误: error C2065: 'a' : undeclared identifier和error C2228: left of '.balance' must have class/struct/union type。经过仔细检查,我才在main函数中用account 定义了3个对象。
在第二步中,把数据成员"帐号"和"存款余额"定义为private,但是在main函数中没有注意余额balance为private,仍然用a.balance来实现现金的存入,使得编译通不过,后来才在类中使用了存款函数void save(double x)和取款函数void draw(double x),并在main函数中用a.save(1000); a.draw(300)来实现存取款功能。
在第三步中,要求实现用户正确输入账号和密码能显示该账户余额的功能,所以必须在类中添加judge函数判断账号和密码是否正确,在judge函数中用if else的嵌入式结构,先判断账号,再判断密码,但是不管第二个用户是否存在,都输出“用户不存在”,程序在逻辑上存在问题,不能实现想要的功能,在同学的帮助下,才在main函数中加了一句
int pw=a.judge(x)+b.judge(x)+c.judge(x); if(pw==0) {
cout<<"用户不存在!!!"<<endl;
}
这样才实现了想要的功能。
在第四步中,为类添加构造和析构函数。首先我把构造函数写成account(int user=0,intcipher=0),然后在main函数中用account a(10000,1111),b(10001,2222),c(10002,3333); 但执行时总是显示用户不存在,仔细检查才发现int cipher;不是private,之后把构造函数改成account(int user=0),并在main函数中用account a(10000),b(10001),c(10002);进行账户的创建。
通过实验,我知道要做好C++实验不仅必须按步骤,要理解每一步的含义以及作用,不能不经思考的敲一堆代码,然后去编译,而且要对程序执行的功能有一个整体的轮廓。不经思考的敲代码对付小程序还行,但对于大一点的程序就束手无策了。学习C++不能靠记书上的函数等,必须理解函数的作用以及用法,这样才能活学活用。
下一篇:primerstar 说明书