今天看完同学博客比较早,看空间的动态,同学们还在继续上传。从中午开始,不断地有同学上线,赶在19:00之前传完。今天看得比较粗,很多没有写总结的,我数个数也就过去了;对留了言的,由感而发对上两句;有人提出疑问是必定要解答的,甚至代码中的问题可能还需要我调试一下才能发言。
在拳场上,我们有个规矩:当徒弟的,该怎么练就怎么练,时候到了,师傅自然就会指点。徒弟要主动练,要主动接近师傅。谁投入多,在师傅面前表现多,进步快是自然的。用博文提交实验报告,建立起了师生之间交流的一个非常好的途径。尽管一个人要面对八十多人,同学们主动谈起话题,我还是愿意投入时间解答或参与意见的。只是,不必一而再地强调一定得写点什么,有些人就是不愿写,由他去。不过还是建议同学们在调试程序之余,将趁热将自己的感受,以及对专业知识的体会写出来,这是一个巩固成果的好方式。
话说回来,作为教学班整体,我真为这些同学的进步而感到欣慰了。每人一周几百行的代码,他们已经形成习惯。个别同学一周的代码量会超过千行,而学习困难的同学,发文不多,所做的努力我也还是能看见的。能如此投入地学习程序设计,教了近二十年书的我,没有见过。
同学们,继续加油!
以下是本周同学的感想及我的评论:
通过本题可以看出friend对数据的安全性是有一定威胁的。
为了一时的方便,而丢失了安全。 所有的函数都定义为friend就没啥意义了。
不合算啊;
注意this指针的用法。
注意复制构造函数参数的写法。
注意动态分配内存的方法。
注意用一个指向整型的指针,表示二维数组的方法。
这些都是要好好学习的。
程序写多了才知道自己不会的东西还很多啊! 【大学者的谦虚不是装的。】
通过这次做数组发现以前的知识忘记了好多,而且数组与指针的结合的题有些不敢下手,得回顾一下以前的知识了。。
程序就是一点一点写出来的,你写的越多你就会越熟练。
相信编译器,错误编译器不会出,人错。
感觉挺爽的,可以直接输入与输出
以后要想完成作业在去干其他的事情,带着作业干其他的什么都干不好,总想着还有作业没做完。虽然不是为了完成作业去完成作业,但是在一件事情没有彻底解决之前就着手其他的事情,最终结果只能是什么都干不好啊!一件一件干,才能把事情干好····
为图省事,二维数组基本上按一维数组,开始竟忘记如何用new分配空间,又复习了一遍,对其有了更深的了解,多亏把它忘了。【多亏把它忘了?这种乐观主义值得学习!】
输入更加人性化了!!
终于不用拖到明天再交了,今天下午搞了半个下午。【这就是成长经历。】
前三个题都是让定义《和》的运算重载,从而来实现输入,输出,进而改变程序中对运算结果的现实方式,是程序读起来更加自然。总的来说达到了预期的结果,但是我总是觉的单凭麻烦程度上两种做法差不多的啊??????【可能实现上更麻烦了,但关键对使用你类的用户而言,那不可同日而语。】
用运算符的重载与算法的相结合来求解一元一次方程,可谓求解算法的多变性。【原先想加一个选做题:解一元二次方程和解二元一次方程组来着,想玩自己来吧。】
使用流插入运算符和流提取运算符额的重载后,程序的可读性会更好;而且,流插入运算符和流提取运算符额的重载只能使用友元函数;定义流插入运算符和流提取运算符额的重载时要注意实参与形参之间的传递关系。
老师说过,一个好的程序员不仅要会写程序,更要能读懂程序,而我认为更重要的是要让别人也能看得懂你的程序,所以利用运算符重载是程序看起来更加自然,而对于我们来说也更加方便。【总结很值得回味,认识都提高了。】
if((a == '-'&& b == '='&& i == 0 && e.unknown >= 'a' && e.unknown <= 'a'+25)|| a =='+ '&& b == '='&& i == 0 && e.unknown >= 'a' && e.unknown <= 'a'+25)中对e.unknown的判断对不对,望指点~~~~【这么长的条件谁看了也头疼,彻底改写,写短条件。必要时用if的嵌套分成几个层次判断。这是一种不好的风格,当条件写长了,就要将其缩短下来。】
注意重载流插入运算符和流提取运算符要定义成友元函数,不能作为成员函数。
哎~~,主函数中用cin ,cout,这样写着舒服多了。
对输入输出流的重载的函数的第一个参数和函数的类型必须后面加&.
是不是有些能在vc2008中能运行的程序,不能在vc6.0中运行啊?【vc++6.0实现友元函数时有个bug。不过也有办法对付,细节找百度老师问一下。】
【按时完成任务的全是好同学!】
【徐同学专栏】
要解决的关于复数加减乘除的函数,在以前的实验中都已经实现,此任务中,需要解决的,也是老师希望我们掌握的只有一个,就是对<<和>>的重载,重载的方式,课本中已经给予了充分的解释,也有相关的例题,综上所述,只需要在原有代码的基础上稍微加以改动就可以实现实验目,其实换句话说,只需要将第八周的实验和课本的例题稍加组合就可以了,没有什么太高的要求。
应该······能做出第一个任务的,第二个也能比较顺畅的得出想要的结果吧,毕竟,代码实现方面没有太多的改动,唯一有难度的是,不要畏惧为代码的长度就是了,其他的,没有什么大不了的,还是着重考察<<和>>运载符的重载,熟悉运用方式后也就没什么了,注意熟能生巧就是啦!
还是考察<<和>>运载符的重载,看来老师真的是太想我们掌握这一语法了,才会一而再,再而三的在实验中反复考察我们,也好,编程本来就是枯燥的事情,很多时候是要重复工作的,现在提前锻炼一下自己的耐性也是件好事。
看来前面时太得意忘形了,这下好了,被难住了吧,活该!大体难点有这么几点,怎样用结构体建立二维数组,怎样找到二维数组中的数据,并实现加、减、相等的比较,当然还有看到就不舒服的指针,以及我个人不太熟的构析函数,反正麻烦事一大堆了。
嗯,不好意思,稍稍参考了一下老师的哟,在构造函数中用数据成员表示行和列,实现构造函数的多维数组化,用array指针建立动态数组,保存数据,用行列的乘积显示数组中数据个数,并借由指针找到对象数组中的数据实现对象的加、减和相等的比较,理清了这些,代码实现也不是不可能的,个人觉得任务四是本周试验中综合性和技巧性最好的,是道好的试验问题哦。【从你写的文字上看,参考老师的代码已经完全成了你的东西。学无定法,但一定要成了自己的。】
与任务四相比,这都不是事儿,只要在重载<<和>>的时候稍微用一点技巧就可以很好的完成任务,其他的,我想想,因为是最简单的一元一次函数的求解,在设计求未知自变量算法时,不会有什么难得地方,总的来说,我个人还是听顺畅的做出来了,没有什么难点啊!