C++面向对象编程 复习重点概念
内联函数
一个函数,前面加有关键字inline。系统在编译时,凡遇到调用内联函数,则在实参替代形参后,用该函数中的全部代码来代替被调用函数。语句较少,且被频繁调用的函数可被定义为内联函数。
函数重载
指在同一个命名空间内,多个函数可以拥有相同的名字。要求重载的函数至少在参数个数或参数类型上与已定义的函数不同。
引用变量
指给已经存在的变量起一个别名,即引入了一个变量的同义词。引用变量用标识符&表示。引用变量可以取代指针变量。引用变量主要用来设计函数的输出类型参数。
构造函数(特殊无返回类型的起初始化作用的成员函数)
指创建类的实例时,系统自动调用的、完成对象的初始化赋值工作的特殊成员函数。
析构函数
指当程序中创建的对象脱离其作用域时,系统将自动调用析构函数来完成动态申请内存空间的释放,以及其他一些扫尾工作。
重载构造函数
构造函数重载可以为外部程序创建对象提供灵活性。
拷贝构造函数
指一种只有一个相同类类型参数的构造函数。语句形式固定,即用参数所代表的对象的各个成员变量值作为构造函数的初始值。用来复制已创建的对象。
const修饰的成员变量与成员函数
当成员函数的某个参数修饰为const时,表示该参数在成员函数内不能更改。当成员函数修饰为const时,表示限制该成员函数只能读取当前对象的成员变量,但不能修改当前对象的成员变量。
友元
一个类的友元被允许访问该类的私有(保护)成员。友元为严密封装的类提供了方便快捷的访问途径。
运算符重载
对系统中已定义过的运算符进行重载。可将运算符重载为类的成员函数,即objectX.operator+(objectY)形式。
继承性
继承就是指一个新的类拥有全部被继承类的成员变量和成员函数。
①公有继承(public):不变。
②私有继承(private):保护和公有成员变为私有。
③保护继承(protected):公有成员变为保护。
函数重载和覆盖的异同点
①同:均要求函数名相同。
②异:覆盖要求参数个数和类型与父类的完全相同,返回值类型也相同(均不考虑返回值类型)。
多重继承的二义性问题的解决方法
①消除成员变量的二义性:在同名成员变量前加类名作用域;或在声明子类时,在继承方式前加上virtual关键字(虚基类)。
②消除成员函数的二义性:在同名成员函数前加类名作用域。
虚函数
前加virtual关键字的成员函数为虚函数。对于虚函数,系统将按动态联编(滞后联编)的方式考虑对象的成员函数调用。设计方法为,先创建对象指针,再将对象指针值赋给对象指针,即A *pa; pa = &B; pa->vf()格式。
参数多态性
指用参数方法决定一个类的数据类型。
模板(template )
一种基于类型参数生成类或函数的机制。参数实例化,将数据类型作为参数。
类模板和模板类
①类模板允许用户为类定义一个模式,使得类中的某些参数能够取任意类型。它的存在不代表一个具体的、实际的类,而是代表一类类。
②模板类是模板实例化后的一个产物,可以用来创建对象。
异常处理的三个关键字
①throw语句用来抛出异常。
②try关键字用来圈定程序中可能出现异常的语句段,从而通知系统,注意异常发生时的捕捉。
③catch语句用来给出异常的处理方法。
(如有纰漏,敬请指出)