指针与对象知识点.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指针与对象知识点

一、指针知识点 四类重要的知识点 (一)、指针及其基本操作 1、运算符*的用途 1)*用于声明中,表示后面跟随的变量为指针变量 2)*用于指针变量前面,表示存取指针变量指向的内存的数据。强调:每次存取按指针变量的数据类型为单元。 2、指针的加法 1)p+n表示p指向的元素后面的第i个元素的地址 2)*(p+n)等同于p[n]。由此可见,数组的名字是数组的首地址,数组名字是特殊的指针常量。 3)p[n]是指针的一种操作,表示*(p+n),而非数组的固有操作,数组是特殊的简化的指针的实现。 (二)、New运算符 1、new和delete匹配使用。new运算符的返回结果是开辟的堆区内存空间的地址。 2、new int(3)和new int[3]的差异:第一个是开辟一个空间,初始化值为3,第二个是开辟3个动态数组。 3、delete p和delete []p的差异。 (三)、指针与函数 1、指针作为形参,可以写为int *或者int []两个形式,表示都是指针。 注意:函数调用是参数传递,传递进来的是指针的值,但是由于操作的内容相同,因此,函数内部对内存的改写将影响到实参后续的内存操作。 2、如果一个函数需要同时对多个实参的值进行改变,可以将多个实参的地址传入,利用指针在函数内部进行操作。 3、指针常量,强调指针的值是常量,不可以改变,但是可以改写指针指向的内存的值;常量指针,强调是具有常量特性的指针,即,指针的值可以改变,但是指向的内存不允许改写。 4、函数指针:函数的名字是函数在代码区的首地址,可以通过给定返回值、形参的形式来声明函数指针。 5、指针作为返回值:由于函数调用后,将会清理掉函数本身的局部变量,因此,作为返回值的指针地址不能是局部变量的地址。 (四)、引用 1、引用就是别名,变量的引用就是变量的别名,对引用的操作就是对所引用变量的操作。 2、一个引用所引用的对象初始化后就不能修改。另外,引用就是一个别名,声明引用不会再为其分配内存空间,而是与所引用对象对应同一片内存空间。因此,对引用的操作与对所引用对象的操作效果完全一样。 3、函数的形参是引用的话,函数内部操作的就是实参本身,因为局部变量是外面实参的别名。 二、面向对象知识点 1、类、对象和实例的关系 类是具有相同属性和行为的对象的集合,是抽象的共性的定义;对象是具体的存在的独立单位;实例时由某个特定的类所描述的一个具体的对象。 单独说对象时,即可以指一个对象,也可以泛指一般的对象。而实例必然是一个具体的对象。 比如,int x; int--类,x--对象,x=5是一个实例(也叫做对象)。类对象=实例 2、继承分为单继承和多继承。多重继承是指继承具有传递性,即某个父类的成员和方法在后继任意继承层次,子类都将包含。(课本第八章没有区分多重继承和多继承,如果考察就区分,不考察就认为是通用的概念) 3、聚合和组合。前者强调聚集在一起,是整体与部分拥有的关系;后者强调组成,是必不可分的关系。 4、构造函数: 1)完成对象的初始化。一个对象创建(即通过类名声明一个变量)的时候一定会调用某个构造函数。 2)如果累声明中没有构造函数,那么C++会默认创建无参的构造函数;如果已经显示定义了一个构造函数,默认无参构造函数将不会再创建。 3)构造函数名字与类名相同,无返回类型(切记不是无返回值,是两种说法),可以重载。 5、析构函数: 1)函数名字为~类名 2)无返回类型,不可以重载 3)在对象被销毁(作为函数的局部变量,函数运行完毕释放空间时;new出来的堆区存放的对象,被delete时)会自动调用 4)公有的函数(不能被定义为私有)。但是构造函数可以被定义为私有(意味着这个构造函数外部是不可以调用的) 6、对象成员的访问 1)用对象名+“.”+成员的方式来访问,即“.”为成员访问操作符 2)用对象指针,即一个指针指向的内存中存储的是一个对象,使用-操作符来访问该对象的成员 7、类成员的访问控制 1)public:修饰的成员任意位置均可以访问 2)private:只能声明的类可以访问 3)protected:声明的类及其子类可以访问 4)如果不指定访问控制方式,默认是private 8、拷贝构造函数 是一类特殊的构造函数,其函数声明类似: 类名(类名 ) 默认C++创建一个拷贝构造函数,实现基于已有的对象来创建新的对象,将成员变量一一赋值给新的对象,这个情况叫做“浅拷贝” 如果显示给出拷贝构造函数的实现,自己定义实现的细节,称为“深拷贝” 9、类声明和类实现分离 1)可以将类声明放在头文件中,将类的成员函数实现放在cpp源文件中 2)在类声明之外来定义成员函数的时候,要用 类名::成员函数的方式来指定该成员函数的作用域,即::是作用域运算符,指定成员函数率属于类 10、类的静态成员

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档