总结---c++类_第1页
总结---c++类_第2页
总结---c++类_第3页
总结---c++类_第4页
总结---c++类_第5页
全文预览已结束

下载本文档

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

文档简介

1、C+类1 类是一种用户自定义类型,声明形式: Class 类名称Pibulic:公有段成员和函数外部接口,是类与外部的接口,任何外部函数都可以访问公有类型数据和函数Private:私有成员和函数 :只允许本类中的函数访问,类外部的任何函数都不能访问Protected:保护型成员和函数:与private类似,其差异表现在继承与派生时对派生类的影响不同 3 成员函数:在类中说明原行,可以在类外给出函数体的实现,并在函数名前使用类名加以限定。也可以直接在类中给出函数体,形成内联成员函数。 成员数据:与一般变量声明相同,但是声明时不能赋初值。4 对象的生成类的对象是该类的某一特定实体。声明形式: 类名

2、 对象名;eg: Clock myclock;类中成员访问:直接使用成员名类外访问:对象名.成员名只能访问pubulic5 对象的初始化1. 构造函数constructor在对象被创立时由系统自动调用。如果未声明那么由系统自动生成一个默认形式的函数。 特点:1>与类同名,不能有返回值2>生成对象时自动调用。New操作时也能自动调用。3>可以带参数和不带参数两种。如果定义了带参数的构造函数且只有这一个。那么在创立对象时需要传进参数。 2.成员函数声明类型:函数类型 类名:函数名参数。 3.内联成员函数成员函数定义在类内被当作内联函数。定义在类外可以在函数前加上inline。在类

3、外定义成员函数时,必须在函数名前加上类名和作用域操作符:4. 析构函数:用来释放对象,在对象删除前用它来做一些清理工作,它在类对象销毁是自动调用。1>析构函数与类同名,前面加上号,切无返回值。2>析构函数不能接收参数。不能重载。一个类中只能有一个析构函数5. 构造函数在对象生成时调用,析构函数在对象销毁时调用。构造函数在程序开始运行时调用,在main接到控制前调用。析构函数在程序结束时调用。对于用new操作符动态生成的对象来说,构造函数在对象生成时调用,析构函数在对象用delete操作符明确销毁时调用,如果不销毁那么析构函数永远都不会调用。对于相同的对象:先构造的后析构,后构造的先

4、析构。6. 静态类成员1>静态数据成员:静态数据成员只存储一处,供所有对象共用。静态数据成员只能在类外进行声明。最好在main函数所在文件。2>访问静态成员或者函数是直接用类名和作用域操作符。3>静态成员函数只能直接引用静态数据成员和属于其类的静态数据成员函数。4>静态成员函数中没有this指针。要引用非静态成员,可以通过对象来引用。7. 常对象和常成员函数1>const对象和const成员函数。类对象在定义中参加const表示不能改变该类中任何数据成员的值,且该对象不能调用非const修饰的成员函数。类中的函数定义中参加const表示该函数不能改变任何数据成员的

5、值。且该函数只能使用const修饰的变量。2>常数据成员只能通过构造函数中的成员初始化表的方式来对数据成员初始化。初始化后不能更改。8. this指针是隐含在成员函数体中的指针,它指向调用该成员函数的对象。9. 友元friend:一种定义在类外部的普通函数。但是需要在类体中进行说明,且在前面加上friend加以区别。友元不是成员函数,但可以访问类中的私有成员,友元可以是函数也可以是类。注>提高了程序的运行效率,但破坏了封装性。10. 友元类:在类中声明另一个类为该类的友元类,声明前加friend。在友元类中可以引用该类中的private成员。6 类的作用域局部类和嵌套类。类域:指在

6、类的定义中由一对花括号所括起来的局部。类域中定义的变量不能使用auto,register,extern。只能用static。1. 局部类:在函数体内定义的类。不能说明静态成员函数,且所有成员函数必须定义在函数体内。2. 嵌套类:在一个类中定义定一个类。7 对象的生存期。1. 局部对象:在进入锁在函数时被创立,函数退出时被释放。2. 静态成员:第一次执行到所定义的对象时被创立,程序结束时被释放。3. 全局对象:程序开始时创立,程序结束被释放。8 对象指针和对象引用1. 指向A类中数据成员C的指针方法Int A:*p = &A:C;2. 定义一个指向A中成员函数fun的指针方法Int (A:*p)() = A:fun;9 对象数组1.声明: 类名 数组名元素个数;2.访问方式: 数组名下标·成员名3.对象数组数组初始化:定义的同时初始化定义好之后,再单个元素初始化4.数组生成时,调用每个元素的构造函数。数组中每个元素被删除时,都要调用一次析构函数。5.数组元素赋初值时,会有一个临时的对象产生,调用构造函数,初始化临时对象,之后将临时对象的值赋给元素,然后调用析构函数,释放掉临时对象。6.用new生产的数组不能直接初始化,需要每个元素单独初始化。DATE *

温馨提示

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

评论

0/150

提交评论