自-4737C串讲笔记201010_第1页
自-4737C串讲笔记201010_第2页
自-4737C串讲笔记201010_第3页
全文预览已结束

下载本文档

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

文档简介

1、c +串讲笔记第一章1 .C+ 言兼C 4 言 °2 . C+ +中的注释方式有两 种:(1).从“/*”开始, 直到 “*/ ”结束;( 2)运用 /的方式, 并且注释的有效范围从 /到 本行的结束。3. 命名空间:它是一种将程序库名 称封装起来的方法 ,它提高 了程序的性能和可靠性。4. 动态内存分配的一般格式 为:指针名 = new 结构名 ;del ete指针名;5 弓I用的声明格式为:数据类型 & 别名 = 对象名;6. 弓用通常用于函数的参数 表中或者作为函数的返回 值,其实质为:弓用实际上就是变量 的别名 ,使用弓用就如同直 接使用变量一样 ;弓用会对内存地址上

2、 存在的变量进行修改, 但是 它不占用新的地址 ,可以节 省开销。7. 左值表达式在赋值语句中 既可以作为左操作数 , 也可 以作为右操作数。 而右值表 达式在赋值语句中只能作 为右操作数。 8指向常量的指针是在非常量指针声明前面使用c ons t, 比女口 :con s t int *p 9 .在数组的泛型算法中,要 输出数组的内容、 对数组进 行升幂排序、 反转数组的内 容、复制数组的内容等操作 , 需要包含头文件 <algorithm >要对数组进行降幕排序 和检索,需要包含头文件<functio na l> °10.用C+ +语言写成的程序 成为源代码

3、。C+ +的编译过 程可以分为以下几个步骤 :(1) .先使用编辑 器编辑一个C+ +程序A.cp P ,又称其为 C + +的源程 序。(2)然后使用 C+ 编译器对这个 C+程序进 行编译 ,产生文件 A.obj 。(3 ).再使用 连接程序,将A .ob j变成 A.ex e文件。第二章1. C+ 中可以使用如下的形 式描述:S true t结构名 数据成员成员函 数;所以通过 C+ 的结构对象 使用成员函数 :结构对象 .成员函数2. 类中的私有数据成员,必 须通过公有的成员函数才 能使用 ,这就称为数据的封 装性。类中使用关键字c lass 定义,它默认的是 priv ate。3 .

4、构造函数的使用方法 为:构造函数名 对象 名 (初始化参数 ) 4面向过程:就是不比了解计算机 的内部逻辑, 而把精力主要 集中在对如何求解问题的 算法逻辑和过程的描述上, 通过编写程序把解决问题的步骤告诉计算机。5. 对象使用自己的成员函数 的方法是通过“ .”运算符 , 格式如下 :对象名 .成员函数6. 对象调用成员函数的语法 可表示如下 :对象名称 .成员函数( 参数 ( 可供选择的消息内 容)7. 使用 complex 函数定义复 数的格式如下:comple x <数据类型 > 对象名 (实部值 ,虚 部值)第三章1. C+ 中的参数传递方式可 以分为值的传递和弓用的 传

5、递, 其中对象的值就是对 象所有数据成员的值, 约定 参数传递中传递“对象值” 是指对象的数据成员值, 传 递“对象地址值”是指对象 的首地址值。2 . 将对象作为函数参数, 是 将实参对象的值传递给形 参对象 ,这种传递是单向的, 这种传值方式可以防止被 调用的函数改变参数的原 始值。3. 将指向对象的指针作为函 数参数 , 形参是对象指针, 实 参是对象的地址值。4. 在函数调用时 ,实参对象 名传给形参对象名, 形参对 象名就成为实参对象名的 别名。 实参对象和形参对象 代表同一个对象, 所以改变 形参对象的值就是改变实 参对象的值。5 .默认参数可以多于 1 个, 但必须放在参数序列的

6、后 部,如果一个默认参数需要 指明一个特定值 ,则在其之 前的所有参数都必须赋值。6.用co nst修饰传递参数, 意思是通知参数, 它只能使 用参数而无权修改它。 主要 是为了提高系统的自身安 全。7屈数可以返回一个引用 , 将函数说明为返回一个引 用的主要目的是为了将该 函数用在赋值运算符的左 边。函数原型的表示方法如 下:数 据类型 & 函 数名 (参数列表) ;8. 函数的返回值可以是存储 某种类型数据的内存类型 内存地址, 称这种函数为指 针函数。 它的一般定义形式 如下:类型标识符 * 函数名(参数列表 );9. 如果用函数返回值作为另 一个函数的参数, 这个返回 值必须与

7、参数的类型一致。1 0.在C+编译器中定义内 联函数时需要使用i nl ine 说明,除了循环语句、SW 1 tch 语句的函数不能说明为 内联函数外 ,其他函数都可 以说明为内联函数。1 1. 函数重载的形式有两 种:参数类型不同;参数个 数不同。1 2 .在函数模板中,一般用T 作为标识符来标识类型参 数,参数名可以任意挑选。通常规定模板以 t e mplate 关键字和一个形参表开头。 可以将函数写为以下形式 :te m plate v cla s s T >13. 显式表示模板参数的 格式为:函数模板名 <模 板参数 > (参数列表 ) 或者 函数模板名 (参数列表)

8、 第四章1. 类和其他数据类型不同的 是,组成这种类型的不仅可 以有数据, 而且可以有对数 据进行操作的函数, 它们分 别叫做类的数据成员和类 的成员函数, 而且不能在类 声明中对数据成员使用表 达式进行初始化。2. 在C+中声明类的一般形 式如下 :cla s s类名p r iva t e:私有数据和函数p u bl1c :公有数据和函数protecte d:保护数据和函数 ; 3类中声明的成员函数用 来对数据成员进行操作, 还 必须在程序中实现这些成 员函数。 定义成员函数的一 般形式如下 : 返回类型 类名:成员函 数名 (参数列表)成员函数的函 数体4.关于类中的成员,可以归 纳出如下

9、的规律:(1)类的成员函数可以直接 使用自己类的私有成员;(2)类外面的函数不能直接 访问类的私有成员;(3 )类外面的函数只能通 过类的对象使用该类的公 有成员函数 (4)两个对象的成员函数的 代码可能一样 , 但是它们的 属性值是不同的。5. 定义类对象指针的语法如 下:类名 * 对象指针名; 对象指针名=对象的 地址;类名 * 对象指针名= 对象的地址 ;对象指针名 -> 对象成 员名以上四种方法 ,任选一种 均可。6在定义构造函数时 ,要求 把构造函数的名字与类名 同名 , 并在定义构造函数时 不能指定返回类型, 即使是 vo id 类型也不可以。7 . 构造函数在类体里的声 明

10、方式如下:类名 ::类名(形参 1,形参2, 形参n) :x1(形参1), x2 (形参 2), x n (形参 n)类名 : :类名 (形参 1,形参 2,形参n)x1 = 形参1;x2 =形参2;x n = 形参 n;以上两种方法, 任选一 种均可。8. 程序员在程序中显示地 调用构造函数 , 构造函数是 自动调用的。当使用new建立一个动态对象时,new首先分配足以保存某个类 的一个对象所需要的内存,然后自动调用构造函数来 初始化这块内存,再返回这 个动态对象的地址。9. 复制构造函数通常用于 使用已有的对象来建立一 个新的对象。它的原型是:A: :A( A &)10 .在定义析

11、构函数时,不能指定任何的返回类型,即使指定void返回类型也 是不行的。析构函数也不能 指定参数,但是可以显式地 说明参数为voi d。一个类 只能定义一个析构函数且 不能指明参数,而一个类中 有多少个对象,就会有多少 个构造函数与之相对应。析构函数在对象的生 存期结束时被自动调用,当 使用运算符delete删除一 个动态对象时,它首先为这 个动态对象调用析构函数,然后再释放这个动态对象 占用的内存,这和使用n ew 建立动态对象的过程正好 相反。1 1.如果在定义类时没有 定义析构函数,C + +编译器 要也为它产生一个函数体 为空的默认构造函数。对 A 类而言,默认析构函数如 下:A :

12、: A () 12. C+规定,当一个成 员函数被调用时,系统自动 向它传递一个隐含的参数,该参数是一个指向调用该 函数的对象的指针,该指针 为this 指针。t h is指针是 C+实现封装的一种机制,它将对象和该对象调用的成员函数连接在一起,从外部看来,每一个对象都拥有 自己的成员函数。13. 关于类的使用权限可以 归结为以下几点:(1)类本身的成员函数可 以使用类的所有成员;(2)类的对象只能访问公 有成员函数;(3) 其他函数不能使用类 的私有成员,也不能使用公 有成员函数,它们只能通过 类的对象使用类的工业成员函数;(4) 虽然一个类可以包含 另一个类的对象,但这个类 也只能通过被包

13、含类的对 象使用那个类的成员函数, 通过成员函数使用数据成 员。14. 空类可以不包括任何声 明,没有任何行为。比如下 边两个例子:c 1 assE mpty ;vo i dmai n() E mp ty objec t ;15. 声明类时所使用的一对 花括号形成所谓的类作用 域。在类作用域中声明的标 识符只在类中可见。16. UML类图Po intx :f lo a ty :f loatd is pl ay : void s e txy : void getx : float get y : float类的标记图y =6.9d i splay se txy g e txgety对象的标记图1 7 .对象结构是指对象之 间的分类关系和组成关系, 统称为关联关系。对象之间 的静态关系是通过对象属 性之间的连接反映的,称为 实例连接。对象行为之间的 动态关系是通过对象行为 之间的依赖关系表现的,称 之为消息连接,实例连接和 消息连接统称为连接。18.C+语言中的“聚合”隐 含了两种实现方式, 第1种 方式是独立地定义,可以属 于多个整体对象,并具有不 同的生存期,用空心菱形表 示。第2种方式是用一个类 的对象作为一种广义的

温馨提示

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

评论

0/150

提交评论