补考c++复习知识点_第1页
补考c++复习知识点_第2页
补考c++复习知识点_第3页
补考c++复习知识点_第4页
补考c++复习知识点_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

类之前的内容:1、C语言与C++■ C++是由C语言发展而来,对C兼容C—结构化语言,面向过程C++—面向对象C++包含了C,C是C++的基础,C所写的程序在C++环境中是完全可用的。C++语言包括过程性语言和类部分;过程性语言部分与C并无本质的差别。C++既可用于基于过程的结构化程序设计,又可用于面向对象的程序设计。C是过程性语言,它没有类部分。2、内联函数内联函数主要解决程序的运行效率。使用关键字inline将函数声明为内联函数。3、函数的重载c++允许用同一函数名定义多个函数,而这些函数的参数个数或参数类型可以不相同,这就是函数的重载。4、函数模板函数模板:即一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟类型来代替。函数模板的定义格式:template<typenameT>或template<classT>5、有默认参数(参数缺省值)的函数C++中可以为函数参数设置缺省值。实参的个数与形参不一致,比形参少,这样可以在形参中设置默认值。在函数中有多个参数(形参)时,没有缺省值的参数在参数表的左边,有缺省值的参数只能在右边出现!在函数定义与函数声明同时存在时,缺省值只能够在函数声明中出现!6、const型指针常指针(指针常量):指针本身的值是一个常量,即指向不能改变。声明格式:例如,intr=6;int*constpr=&r;指针变量所指向变量的值可以改变,如*pr=8;程序中不能出现诸如p=的语句。7、变量的引用■对变量起另外一个名字(外号),这个名字称为该变量的引用。■变量和变量的引用在内存中占用同一地址。■其中原变量名必须是一个已定义过的变量。如:intmax=10;int&refmax二max;refmax=20贝Umax+refmax=40??8、new与deletenew:■利用new运算符可以在程序中动态开辟内存空间。delete:■使用delete运算符回收new开辟的存储空间。■用new开辟的内存单元如果程序不“主动”收回,那么这段空间就一直存在,直到重新开机为止第2章:类和对象1、面向对象的特征:封装、抽象、继承、多态2、类■类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。即包含:数据成员和成员函数。类是一种抽象的数据类型,因此,在类中不能对数据成员初始化。类的成员限定符三种:private,protected,public,默认为private类的成员函数一般指定为public,它们是类的对外接口。类的成员函数既可以在类内实现,也可以在类外实现。注:若在类体外实现,需要使用作用域运算符::,用它来标识某个成员函数是属于哪个类的,此时需要在函数名前面加上类名,另外,在类体内必须有函数声明部分。3、对象只有在定义了属于类的变量后,系统才会为类的变量分配空间。类的变量我们称之为对象。■对象是类的实例,定义对象之前,一定要先说明该对象的类。4、对象的使用■通过对象名和成员运算符访问对象中的成员,用“.”运算符。格式:对象名.数据成员或对象名.成员函数(参数表)注:用成员选择运算符“.”只能访问对象的公有成员5、对象所占的存储空间■由其数据成员决定,成员函数不属于任何一个对象。第3章:一、 构造函数:用来实现数据成员的初始化1、构造函数是类的成员函数,一般声明为public,系统约定构造函数名必须与类名相同。构造函数提供了初始化对象的一种简单的方法。2、构造函数可以有参,也可以无参。3、构造函数可以在类内定义,也可在类外定义。4、在定义构造函数时,不能指定函数返回值的类型,也不能指定为void类型。5、构造函数的重载在一个类中可以定义多个构造函数,这些构造函数具有相同的名字,而参数的个数或参数的类型不相同,这称为构造函数的重载。6、使用默认参数的构造函数注意:在声明构造函数时指定默认值。在类中,若定义了没有参数的构造函数,或各参数均有缺省值的构造函数也称为默认的构造函数,默认的构造函数只能有一个。产生对象时,系统必定要调用构造函数。所以任一对象的构造函数必须唯一。二、析构函数1、析构函数的作用与构造函数正好相反,是在对象的生命期结束时,释放系统为对象所分配的空间,即要撤消一个对象。2、析构函数是一个特殊的成员函数,函数名必须与类名相同,并在其前面加上字符“〜”以便和构造函数名相区别。3、析构函数不能带有任何参数,不能有返回值,不指定函数类型。4、一个类中,只能定义一个析构函数,析构函数不允许重载。5、调用构造函数和析构函数的顺序?只在主函数中定义对象时,先构造的后析构,后构造的先析构。三、 共用数据的保护const常成员函数定义格式:类型函数名 (形参表)constconst是函数类型的一部分,在声明函数原型和定义函数时都要用const关键字。const是函数类型的一个组成部分,因此在函数的实现部分也要使用关键字const。四、静态成员(1)类外定义(2)用static修饰的成员(3)静态成员属于类成员,开辟一份存储空间,供所有对象共享,不属于任何一个对象,所有对象都能对其操作。静态成员函数(1)如何定义:加static(2)非静态成员函数可以访问:静态成员与非静态成员。(3)静态成员函数只能访问静态成员。友元1、友元函数将普通函数声明为友元函数其特点是能够访问类中私有成员和保护成员,即类的访问权限的限制对其不起作用。友元函数可以在类内实现,也可以在类外实现,需要在前面加上关键字friend。在类外实现时,需要在类体内进行说明,一般格式为:friend<type>FuncName(<args>);例:friendfloatVolume(A&a);友元函数不是成员函数,用法也与普通的函数完全一致,只不过它能访问类中所有的数据。2、友元类一个类可以定义为另一个类的友元。第4章一、派生类的构成1、不仅包括所继承的基类成员,还包括派生类自己新添加的成员。2、声明派生类的一般形式为:class派生类名:[继承方式]基类名(派生类新增加的成员};3、有三种继承方式:公有继承、保护继承、私有继承。默认为私有继承。二、派生类成员的访问属性(详细内容看课件)1、公有派生class派生类名:public基类名公有派生时,基类中公有成员和保护成员在派生类中保持各个成员的访问权限,私有成员仍为基类私有。基类成员属性派生类中派生类外公有可以引用可以引用保护可以引用不可引用私有不可引用不可引用2、私有派生class派生类名:private基类名私有派生时,基类中公有成员和保护成员在派生类中均变为私有的,在派生类中仍可直接使用这些成员,基类中的私有成员,在派生类中不可直接使用。基类成员属性派生类派生类外公有可以引用不可引用保护可以引用小可引用私有小白引用小白引用3、保护派生class派生类名:protected基类名保护派生时,基类中公有成员和保护成员在派生类中均变为保护的,在派生类中仍可直接使用这些成员,基类中的私有成员,在派生类中不可直接使用。基类成员属性派生类减生类外公有可以引用不可引用保护可以引用小可引用私有小叫引用小可引用三、派生类的构造函数和析构函数1、简单的派生类的构造函数派生类构造函数一般形式为:派生类构造函数名(总参数表):基类构造函数名(参数表)(派生类中新增数据成员初始化语句)注意:在继承的情况下,基类含参构造初始化只能在子类构造函数的参数初始化表中进行。在建立一个对象时,执行构造函数的顺序是:派生类构造函数先调用基类构造函数,再执行派生类构造函数本身。(派生类构造函数的函数体)在派生类对象释放时,执行析构函数的顺序是先执行派生类析构函数,再执行其基类析构函数派生类构造函数的定义中可以省略对基类构造函数的调用,其条件是在基类中必须有默认的构造函数或者根本没有定义构造函数。•2、有子对象的派生类的构造函数定义有子对象的派生类构造函数的一般形式为:派生类构造函数名(总参数表):基类构造函数名(参数表),子对象名(参数表)(派生类中新增数据成员初始化语句)基类构造函数和子对象的次序可以是任意的,但是调用构造函数的次序是不变的。执行派生类构造函数的顺序是:先调用基类构造函数,对基类数据成员初始化;再调用子对象构造函数,对子对象数据成员初始化;然后执行派生类构造函数本身,对派生类数据成员初始化;四、多重继承派生类的构成1、格式class类名:<Access>类名1,…,<Access>类名nprivate: ……; 〃私有成员说明;public: ……; 〃公有成员说明;protected: ……; 〃保护的成员说明;);例:classD:publicA,protectedB,privateC{ ….//派生类中新增加成员 );五、多重继承派生类的构造函数和析构函数简单的派生类的构造函数•格式如下:派生类构造函数名(总参数表):基类1构造函数名(参数表),基类2构造函数名(参数表){派生类中新增数据成员初始化语句)•派生类构造函数的执行顺序先调用基类的构造函数,再执行派生类构造函数的函数体。调用基类构造函数的顺序是按照声明派生类时基类出现的顺序。2、有子对象的派生类的构造函数跟单继承类似。3、支配原则当基类和派生类的成员(数据成员和成员函数)名字相同时,且都为public权限,当用派生类对象访问时,则优先调用派生类中的成员。六、虚基类1、在多重派生的过程中,若使公共基类在派生类中只有一个拷贝,则可将这种基类说明为虚基类。2、在直接派生类的定义中,只要在基类的类名前加上关键字virtual,就可以将基类说明为虚基类。第5章运算符重载重载为类的成员函数1、对于只有一个操作数的运算符(如++、--),在重载这种运算符时,通常不能有参数,称为单目运算符重载。(1)++为前置运算时,它的运算符重载函数的一般格式为:<type>operator++(){ ……;)(2)++为后置运算时,它的运算符重载函数的一般格式为:<type>operator++(int){ ……;)2、不是所有的运算符都能重载,大家可以看书。

温馨提示

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

评论

0/150

提交评论