看到一位同学发布的博文,模拟了掷骰子。很好的题目,初学编程,可以这样,找到一个很小,很好玩的需求去完成,这是未来做大项目的“引子”。
  他用代码实现了需求,这是重要的。
  我也按捺不住,给一个新的版本。目前,同学们习惯了面向过程的思维,只管着让程序按照流程做完事即可,对面向对象程序的结构还没有感觉。类的封装,该如何体现?函数的接口,怎样才算简洁?这些问题,用讲的方式起个头可以,更重要的是,在用的过程中得到领悟。
  学生的程序是:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
class shaizi
{
public:
void yaodian();
private:
int a;
};
int main()
{
cout << "摇出的点数" << endl;
shaizi s1;
s1.yaodian();
return 0;
}
void shaizi::yaodian()
{
int x;
srand(time(0));
x=rand()%5+1;
a=x;
cout<<a;
}
  我改写的程序是:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
class shaizi
{
public:
int getdian();
private:
int dian;
};
int main()
{
shaizi s1;
cout << "摇出的点数" <<s1.getdian()<<endl;
return 0;
}
int shaizi::getdian()
{
srand(time(0));
dian=rand()%6+1;
return dian;
}