本周任务有2/3的同学全部完成,可喜。对类的继承的掌握还是不错的。然而,共性的问题出在任务2中,对指针成员的处理,这里存在大隐患。看来,我得在课堂上讲讲有关的原理了。因为出问题的多,我没有一一指出,希望同学们仔细阅读我写的博文《C++防灾——为指针成员分配专门的存储空间》以加深理解。

  下面是从同学们博文摘出的总结与感言。

【精品感言】

  • 这周我想说的话有很多,首先,我真的很高兴看到了自己的进步,这个周的任务我提前预习,以前写了,印象很深刻,通过这个周我发现我爱上了找错,虽然有错误不是很好但发现错误我能改正我充满着成就感,或许有人看见我的话会嘲笑我,但我想说若是上半年刚起步时,我可能连一个字都打不出来,成天的呆在计算中心不是白呆的,脸上的痘痘不是白起的,有了一次收获就渴望下次的成功,真的好高兴,这几周的任务不仅能跟上,而且基本上都能保证是独立完成,哈哈,这种喜悦老师你懂得···渴望下次成功,齐齐加油~~!!!【有个笑话:找对象一定要找程序员,他们成天想的是,我到底错在哪里?不找到错误誓不罢休。一旦找到,立马就改。感人的程序员!加油!】

【学习经历】

  • 函数都是在类里面直接定义了···因为一开始觉得做不出来,只是想做做试试···后来有思路了···可是太晚了,逸夫要关门了···哎···忘记带优盘或者下载线了···只好发了···纠结····为什么我重载">>"不行呢?奇怪···
  • 层层叠加,多层派生
  • 【第一篇】对于派生还不太熟练!【第二篇】对派生有点感觉了!【第三篇】比较难,费了好大劲才做出来!
  • 第一次在宿舍交作业。。这笔记本找了半天居然没有找到截图。直接用了QQ截图截下来的。。
  • 跟老雷学会了构造函数的声明方法【不是跟老贺学的?】
  • 第一次没有贴图,而是将数据复制下来了,省事了许多,但是,好像对那个黑框框产生感情了,有些结果还是有那个黑框框比较好看...唉,什么时候才能摆脱黑框框啊,,【感情就是逐渐培养的。不用黑框框是另一阶段的事,但黑框框的时代决定了你的基础。】
  • 把背景改成了蓝色的...舒服好多【我的电脑上用的是豆绿色,据说是最有利于保护眼睛的颜色。】
  • 根据课本上的内容来完成这个任务是挺简单的,不过还是要学会不看课本也能完成任务,先朝着这个目标加油吧!
  • 今天收获不小啊,不仅将程序编出来了,而且,在博文里面再也不用出现黑框框了,哈哈,悲催的是,假期跟同学学了怎样将黑框框和黑框框里面的字变成其他颜色,可是,现在竟然把那条语句给 。。。忘了。。。【变颜色到“属性”菜单里找】
  • 编这个感觉还好,就是要注意细节!
  • 在释放建立对象时动态分配的内存这块不太上手【脚用上也得上。】
  • 突然发现自己的基础知识不是很牢,特别是在细节方面不是很好,要抓紧时间看课本了。。。。【看书、实践,不断交叉。】
  • 有点小难度 感觉派生不是很了解!!【做出这么多程序了,还不了解?】
  • 【只交代码,一声不吭。】
  • 这两周的任务每次做的都会出现很多的错误,写过的运行不出来,出现的错误改的少了,但还是会出现,我是很不愿意贴错误的代码。【你将错的贴出来,我可以给你提修改建议。另外,学着上论坛求助,这也是个办法。参考:http://blog.csdn.net/leihengxin/article/details/7416968】
  • 勤奋的人是时间的主人,懒惰的人是时间的奴隶。【哲理】
  • 输出的样式好像跟老贺的不太一样,但结果是对的,可喜可贺!虽然做的过程中存在错误,但自我感觉这个程序还可以现在完全明白我的程序有个缺点,就是注释太少,我会改正这个缺点的,恩,加油!【进步已经不小了,继续!】

【知识总结】

  • 没有基类的许可,子类是不可以使用基类的数据的,保护自己的隐私!
  • 继承和派生很好,省去了许多麻烦,缩短了代码的长度
  • 又是新的知识,按照以往的规矩,还是说一下新知识的几点基础知识。新的类为第一个声明的对象 ,而:后面的对象是声明的基类。基类型之前的是继承方式的声明。继承方式和原有类的类型大致相同,什么public .private .以及protected。一般没说的话,默认是四有。这个和刚开始学类的时候不一样。
  • 开始怎么也输不出中点是2.5,后来把x,y的类型改为、double型的就好了。。原来派生是酱紫的。【是酱紫的。】
  • show1()很纠结的站在那。。。【show1()其实可以投入show2()的怀抱,不必站在那旁观。】
  • 多层派生时的构造函数,成员函数都要定义成protected型的,不然子类无法识别。函数声明很重要啊,我偷懒想复制粘贴奇函数中友元函数的声明。结果,后面凌乱了。。。【成员函数一般定义成public型。】
  • 只有新开辟的空间才可以释放,并且先开辟的后释放,后开辟的先释放
  • 在输出内容时,开始总想分两部分,一部分输出基类的,另一部分输出派生类,但从结果上看是不成功的,因此仔细理顺一下,就是在输出基类数据时单独一部分在基类定义,其余在派生类中编写。
  • 小小字符不可忽视,忘写<<和;导致出现好多bug;
  • pt1=pts;开始时写成了pts=pt1,输出全是0 【差别大了!】
  • 开始忘了字符串的输入是要利用循环结构的,所以一直出错【调用strcpy解决,你的方法笨了。】
  • 多重派生,可以分成若干部来写,就像老师说的:先声明基类,再声明派生类,逐级进行,分步调试。基类和第一个派生出来的类中的数据成员要定义成prected型,这样,派生出来的类才能访问其数据成员,开始定义成了private了,运行没通过,才发觉是这里出了问题...“爸妈的东西不能碰了,好郁闷”....【让碰就碰,不让碰就不碰,要乖。】
  • 基类与派生正如父与子
  • 在执行派生构造函数时,调用基类的构造函数解决了基类的构造函数不能被派生构造函数继承的问题,析构函数(具有清理作用)同理。【不是很准确。】
  • c++语言中的继承就像现实生活中的继承,数据成员在派生类中的访问权限不仅要根据本类中而定,而且要依访问方式而来。派生出的类中的数据成员包括基类和自己类中的。
  • 本来写的是 (pt1.x+pt2.x)/2,   但是不对,我一直不明白是怎么错的。现在懂了,class point  pt1,pt2 ,pt1,pt2 他是属于两个类的对象,我们在定义构造函数时应该是使用的是参数,而且此时pt1,pt2在此是还未被赋值,根本不可用。【实践中出来的真知!】
  • 宏定义有时候很好用。【C中用宏定义,C++提倡用常变量:const double pi=3.1415926】
  • 如果继承的话,protected和private没有区别,该类的客户不能调用该字段下的任何东西。【没有区别?客户?字段?】如果发生继承。则子类可以使用父类的protected成员,不能使用private。
  • 在派生类中,他从基类中得到了除private之外的所有。【理解的到位。】
  • 【一直保持将类的定义和类的使用分开的风格,表扬!】
  • 这个程序我感觉最难的是动态的建立,说实话还是有些不明白,但是大体的格式明白了也知道了什么时候要用动态的构建了!还是有进步的哈!【学这个专业的,这个必须懂。】
  • 派生类也是一个类,不过是在基类的基础上扩充得到的类罢了!【蜗牛肉也是肉,……】
  • 【某同学的name输出“屯屯屯妄葺葺”,老贺评论:看CPerson类的构造函数,为名字copy值了吗?    】
  • 继承与派生节省了软件开发过程中的人力,物力和时间,大大的提高了效率。
  • 第一次运行时,输出的中点为(2,7),而不是(2.5,7),这时就要考虑是不是数据类型出现了问题。。。。【悟到这个很管用】
  • 老师上课讲派生与继承时举得例子,实在是记忆尤深啊。。。。【儿子大了,想继承的问题时清楚了很多,也就能讲出来了。】
  • 我觉得雷同鞋的思维很棒,所以稍稍借鉴了一下。。。。老师不要怪我。。。。雷同鞋谢啦,以后有空要多向你请教!【合理的参考是很好的学习方式。不过,用循环语句,还是指定循环次数的办法做字符串的复制,不高明。何不用strcpy?】
  • Line(Point pts, Point pte):Point((pts.x+pte.x)/2, (pts.y+pte.y)/2),pt1(pts),pt2(pte){}  派生类构造函数后面括号内的参数表列中包括参数的类型和参数名,而基类构造函数后面括号内的参数表列只有参数名,这是因为此处为调用基类构造函数,因此参数为实参 。【形参、实参,捣鼓清楚还是必要的。】

【徐同学专栏】

  • 算是在基类Point的基础上的一个简单的派生吧,着重考察的都是一些比较简单的东西,老师的目的应该是想让我们大体掌握派生的一般步骤、格式和声明方式吧,至于成员函数的实现都是一些很简单的功能,而且,基类Point中的数据类型也只有一种public,所以不会有成员访问的问题,总体,只要对基础知识掌握的不错了,就能实现代码,何况大部分的代码老师都已经给出了,只是单纯的补充罢了,所以总体还是比较容易的。
  • 实验考查派生类的构造函数和构析函数,其实也是最简单的啦,请不要反驳我,不要误会,我可不是说这个题目很简单哦,只是,不相信我的话请看看课本P363,例11.5,算是很好的实验模板吧,整体构架几乎一模一样,只是在类名和函数上有所改动,说实话,这个题目要实现的功能函数并不难,所以,虽然,我在编写代码的过程中,并不太顺利,可是,只能说自己太眼高手低了,不管现在我们已经学到的东西有多少,千万不要自满,虽然接触C++已经半年多了,可是我们还是地地道道的菜鸟,不用说全国,就只是自己班里,厉害的人物也还是很多,最起码现在的我还是远远不过,要学的东西还有太多太多,差距是清晰可见的,现在能做的也只有,一步一个脚印,不要总是眺望高空,还是脚踏实地,回归课本,踏踏实实把课本学好。
  • 实验考察多重派生类的构造函数,老师其实很慈悲,今周给的实验课本上都有很好的模板,这个实验当然也不例外,课本上也有类似的例题,难点都是一些技术性的问题,看好课本倒是都能很好的解决,所以啦,综上所述,就没什么可以说的,回归课本就好。其次的就是一些小的知识点了,比如,新数据的录入,用到了一个小的技巧,while(1),还有,“<<”运载符的重载,这些知识,以前的实验中都有涉及,应该可以很好的解决的。总的来说,大体结构课本上有好的模板,其次,知识比较琐碎,但是分步骤,一点一点实现代码功能的方式还是很有优越性的,用这种方法,逐步实现代码就好。

【刘同学的知识总结之一】
1)派生类构造函数的一般形式:
派生类构造函数名(总参数表列):基类构造函数名(参数表列)
{派生类新增数据成员初始化语句}
注意:派生类构造函数名后面括号内的参数表列包括参数的类型和参数名(如int n),而基类构造函数后面括号内的参数表列只包括函数名而不包括参数类型(如n,nam,s),因为这里不是定义基类构造函数,而是调用基类构造函数,因此这些参数是实参而不是形参。
2)派生类构造函数标准写法:
例、Student1(int n,string name,char s,int a,string ad):Student(n,name,s),age(a),addr(ad){ }
【刘同学的知识总结之二】
1)公共继承特点:采用公用继承方式时,基类的公用成员和保护成员在派生类中仍然保持公共成员和保护成员的属性,而基类的私有成员在派生类中并没有成为派生类中的私有成员,只有基类的成员函数可以引用它。
2)私有继承特点:私有基类的公用成员和保护成员在派生类中的访问属性相当于派生类中的私有成员。私有基类的私有成员在派生类中成为不可访问的成员。
私有基类中的成员  |在私有派生类中的访问属性
私有成员                |不可访问
公共成员                |私有
保护成员                |私有
3)保护继承的特点:保护基类的公用成员和保护成员在派生类中都成了保护成员,其私有成员仍为基类私有,也就是把基类中的公共成员也保护起来,不让类外任意访问。

【另一位刘同学】

  • 做出这个程序来花了我很长时间,原因是有一些细节没有搞清楚,比如说求出的中点坐标不对,原来是数据类型出错了,于是就把int型改为double型的,还有就是不太明白为什么求中点坐标要用PointP函数,后来明白了。。。。。
  • 这个程序让我明白了很多,比如:m_szName=new char[strlen(name)+1];需要重新开辟空间,因为name不属于这个类,不太安全。。还有m_nAge和m_nSex不需要释放,因为这两个系统自动释放。。。。还有派生类输出函数应输出所有成员变量(含基类继承的成员变量的值)。。。等等。。【认真的总结】
  • 这个题就照老师的思路最好。。:先实现基类Point,再实现Point的派生类Circle,最后实现Circle的派生类。。。。,这样思路比较清晰,写起来也很快。。

【多彩窗口:讲了下从黑框框中取文字,招来几位彩框框】




C++程序设计课程师生互动(2012年春第10周)相关推荐

  1. C++程序设计课程师生互动(2012年春第12周)

    最大的感受是,一个五一春假,不少同学的状态似乎下滑.这也正常,我也在从综合症中恢复.下半学期开始了,我们要更加刻苦,为能力提高,顺便更有那个考试,还有,可恶的老贺,要加一次期中测验. 本周的任务中,开 ...

  2. 计算机课师生互动过多,《计算机应用基础》课师生互动教学策略的个案研究.doc...

    第 PAGE 页 <计算机应用基础>课程师生互动教学策略个案研究 教学质量是高职院校生命,是职业学校发展永恒主题.目前,高职院校都在积极地进行教学改革,不断提高学校教学质量.在职业教育改革 ...

  3. C++程序设计课程主页-2012级

    本课2014级的方案更完整,视频更清晰,请有需求的人士,请移步到---->2014C++ 看贺老师的所有课程的教学资源,就到----->贺利坚教学链接 这门课的主人 教师:贺利坚--为同学 ...

  4. 利用博客提交作业的程序设计课程实践模式

    (本文基于本人近三年来的工作写成,发表于<计算机教育>2014年第18期) 利用博客提交作业的程序设计课程实践模式 贺利坚  卢云宏 (烟台大学 计算机学院,山东 烟台 264005)  ...

  5. 翻转课堂计算机语言逻辑性,【程序设计论文】翻转课堂在程序设计课程中的应用(共4312字)...

    摘要:随着信息技术的迅猛发展,涌现出了物联网技术.云计算技术.人工智能技术等一系列高精尖技术,并不断推动编程语言的改革与发展,C语言作为众多编程语言之首,也迎来了新的机遇与挑战.与此同时,高校对于教学 ...

  6. python程序设计的基本步骤_Python程序设计课程教与学(54、72、80学时教学大纲)...

    原标题:Python程序设计课程教与学(54.72.80学时教学大纲) <算法与程序设计>课程教学大纲 Programming and Algorithm Fundamentals (Py ...

  7. Java程序设计课程教学实践

    0 引 言 众所周知,Java既是一种编程语言,又是一个跨系统的运行平台,在软件工业界得到广泛的应用,成为众多程序员的首选编程语言.事实上,在软件工业历届的程序设计语言排名榜中,Java语言始终名列前 ...

  8. java学生选课系统课程设计报告_Java语言程序设计课程设计-学生选课系统

    <Java语言程序设计课程设计-学生选课系统>由会员分享,可在线阅读,更多相关<Java语言程序设计课程设计-学生选课系统(23页珍藏版)>请在人人文库网上搜索. 1.10届 ...

  9. Java、JSP基于Web的师生互动系统的设计与实现

    随着计算机技术的飞速发展,信息网络已成为社会发展的重要保证.如何以网络为纽带快速.高效.方便地实现知识传递,以现代化手段促进教学改革,是教育工作者要解决的问题.传统的教学方式体现出管理员和用户不能同步 ...

最新文章

  1. 做acm 需要学的算法
  2. Python-time
  3. NR 5G (2G-5G)通信核心网演进
  4. centos oracle命令,CentOS7命令行方式搭建Oracle11gR2
  5. 定时器 Quartz
  6. 初学Java Web(6)——JSP学习总结
  7. Val编程-系统架构
  8. 大数据时代都说python发展非常好,学习Python,到底有啥优势?
  9. 解封装(六):通过遍历获取AVStream音视频流信息并打印参数
  10. POJ3349 Snowflake Snow Snowflakes(hash)
  11. 谈谈Linux下动态库查找路径的问题
  12. Root Pane Container(三)
  13. 实例7:stc8a8k定时器0,定时50ms,进入中断之后,加数20次到1秒,计算时间。
  14. Mybatis + mysql获取元数据时出现问题以及解决
  15. 浏览器无法连接的解决方法 windows无法与设备和资源通信的解决方法
  16. developerWorks
  17. 『互联网架构』软件架构-电商系统架构发展历程-1
  18. LPCXpresso54114基于MDK的初试
  19. php cs fixer 怎么用,php代码格式化工具 php-cs-fixer的使用
  20. rk3399 9.0 GMS 服务使用

热门文章

  1. Win11快速打开便签和使用技巧分享
  2. LVDS转LVDS,转VGA,TTL,HDMI
  3. 工业可编程控制器PLC的编程是什么?
  4. 公众号如何对接电影票cps
  5. Java和Python语言比较
  6. java实现多个小球碰壁变色_java小程序(小球碰壁)
  7. 张小龙两小时演讲全文:微信十年的产品思考
  8. 痔疮后水肿该怎么办?
  9. xinxin -制作网页
  10. 海关精准帮扶助力潮州糖果走出国门