关键论文关于面向对象的C++语言关键概念教学实践论文范文参考资料_第1页
关键论文关于面向对象的C++语言关键概念教学实践论文范文参考资料_第2页
关键论文关于面向对象的C++语言关键概念教学实践论文范文参考资料_第3页
关键论文关于面向对象的C++语言关键概念教学实践论文范文参考资料_第4页
关键论文关于面向对象的C++语言关键概念教学实践论文范文参考资料_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关键论文关于面向对象的C+语言关键概念教学实践论文范文参考资料 关键字面向对象 C+语言 关键概念 教学探索 A C+语言是在C语言基础上发展的一门面向对象的高级程序设计语言,全面兼容C语言1。C+语言采用面向对象的思想,将客观事物看作是具有属性和行为的对象,能够更为直接地描述客观世界中存在的对象以及它们之间的关系23。目前C+语言是大多数电子、信息、计算机等相关专业中非常重要的程序设计课程,也是这些大学生在学习后续专业课、进行毕业设计、以后上研究生或参加工作从事计算机软件开发的主要编程语言。本人在多年的教学探索与实践过程中发现,大学生对很多新概念的理解方面存在概念模糊、混淆不清的情况,这主要是C+语言有很多新的概念难以理解,仅凭大学生在初次学习时很难对这些概念实现准确理解和掌握,需要教师在授课前提前将这些概念进行备课总结,在上课时采用表格形式在多媒体课件中播放,这样能够极大提高学生对这些概念的领悟和理解能力4。本人根据多年的教学工作实践,总结出了多个大学生在学习时难以区分和理解的概念,例如引用与指针的概念的区别,普通指针、指向常量的指针和常指针三种指针的对比,以及公有、私有、保护三种继承方式的区别都进行了详细的比较,对不同重载方式下运算符重载函数参数的个数也进行了总结,为大学生的学习和教师的教学提供了有效参考。 引用是面向对象的C+语言与C语言不同的一个重要概念,主要用于参数传递,引用的符号&与C语言的指针取地址运算符&、进行与操作的位运算符&相同,需要进行区分。当&符号出现在程序中,判断它究竟是引用、位运算符还是取地址运算符,可以首先看它是否为双目运算符,如果是双目运算符,则为位运算符,例如: 则上述程序中&为位运算符。 取地址运算符&和引用运算符&都是单目运算符。取地址运算符是位于一个已经存在的变量的前面。 则上述程序中就是把整型变量a的地址赋给指针变量p。 引用是标识符的别名。引用是C+中的概念,初学者容易把引用和指针混淆一起。例如,下面程序中,b是a的一个引用,a 是被引用物。 程序中的b相当于a的别名(或称绰号),对b的任何操作就是对a的操作。所以b既不是a的拷贝,也不是指向a的指针,其实b就是a自己。 在下面的示例程序中,c被初始化为a的引用。语句c =b并不能将c修改成为b的引用,只是把c的值转变成为10。由于c 是a的引用,所以a的值也变成了10。 上面的程序看起来有点像在玩文字游戏,没有体现出引用的真正价值。其实,引用的主要目的和功能是传递函数的返回值和参数。在C语言中,函数的返回值和参数的传递方式只有两种:值传递、指针传递;而在C+语言中,函数的返回值和参数的传递方式有三种:值传递、指针传递和引用传递。 下面两个例子分别描述了指针和引用参数传递的用法: 1.采用指针进行参数传递的例子 2.采用引用进行参数传递的例子 1.从现象上看,指针在运转过程中可以转变它所指向的值,而引用一旦和某个对象绑定之后就不会再进行转变; 2.从内存分配上看,程序会为指针变量分配一定的内存区域,而引用是和一个已经存在的对象绑定,不会再分配内存区域; 3.从编译上看,指针可以转变所指向的对象(指针变量中的值可以转变),而引用一旦绑定一个对象后就不会再进行转变。 实际上“引用”可以做的任何事情“指针”也都可以实现,那为什么还要用“引用”这个概念这是由于指针能够毫无约束地操作内存中的任何地址,尽管指针功能十分强大,但是非常危险,很容易把一些重要数据破坏。而引用在使用时只是和一个已经存在的合法的存储单元关联,不会产生一个空的引用。 很多大学生在学习普通指针、指向常量的指针和常指针概念时混淆不清。由于指针功能十分强大,对上述各种指针概念不清楚,就很容易出现内存操作隐患。如果我们希望指针所指向的内容不被随意转变,可以声明指向常量的指针,此时不能通过指针来转变所指对象的值,但指针本身可以转变,可以指向另外的对象。如果我们希望指针本身不被转变,则可以声明常指针,即指针类型的常量(声明为地址类型的常量,指针本身就是常量),则指针本身的值不能被随便转变。表2给出了普通指针、指向常量的指针和常指针在使用时指针本身和指针所指向的内容能否被转变的总结。 下面给出了四个例子,分别表示指向常量的指针和常指针所指向的内容以及指针本身能否被转变的情况。 1.指向常量的指针的例子,所指向的内容不能转变 2.指向常量的指针的例子,指针本身的值可以转变 3.常指针的例子,指针本身不可转变 4.常指针的例子,常指针所指向的内容能转变 很多学生在学习私有、公有与保护成员三个概念时混淆不清,在使用从基类中继承而来的成员时不清楚在派生类中是什么访问权限,从而导致程序编译或运转错误。基类的成员可以有public(公有类型)、protected(保护类型)、private(私有类型)三种访问属性。其实,结合自然语言中的继承概念,学生就很容易理解。公有类型外界能够看得见,能够被继承下去。保护类型外界看不见,但是也能够被继承下去。私有类型外界看不见,能够被继承下去,占用内存空间,但是在派生类中不可直接访问。保护类型的成员能够被继承下去,在派生类中可以直接访问,但是外界看不见。类的继承方式有public(公有继承)、protected(保护继承)、private(私有继承)三种。不同的继承方式,会导致原来具有不同访问属性的基类成员在派生类当中具有不同的访问属性。表3给出了基类不同访问属性的成员经过不同继承方式后在派生类中的访问权限。从表3可以看出,基类的私有成员无论经过何种继承方式都不能在派生类当中直接访问,但是在派生类中占有内存空间。在派生类外部,通过派生类的对象只能够访问到以公有方式从基类继承过来的公有成员。 普通的运算符只能对基本类型的变量进行运算。C+提供了运算符重载的功能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论