看到一位同学发布的博文,模拟了掷骰子。很好的题目,初学编程,就可以这样,找到一个很小,很好玩的需求去完成,这是未来做大项目的“引子”。
他用代码实现了需求,这是最重要的。
我也按捺不住,给一个新的版本。目前,同学们习惯了面向过程的思维,只管着让程序按照流程做完事即可,对面向对象程序的结构还没有感觉。类的封装,该如何体现?函数的接口,怎样才算简洁?这些问题,用讲的方式起个头可以,更重要的是,在用的过程中得到领悟。
学生的程序是:
#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; } |