摘要:
一旦基类定义了虚函数,该基类的派生类中的同名函数也自动称为虚函数。 虚函数只能是类中的一个成员函数,但不能是静态成员,关键字virtual用于类中该函数的声明中。 关键字virtual指示C++编译器对调用虚函数进行动态联编。这种多态性是程序运行到需要的语句处才动态确定的,所以称为运行时的多态性。不 阅读全文
摘要:
在数组生存期内,数组的大小是不会改变的。向量是一维数组的类版本,它与数组相似,其中的元素项总是连续存储的,但它和数组不同的是:向量中存储元素的多少可以在运行中根据需要动态地增长或缩小。向量是类模板,具有成员函数。 向量(vector)类模板定义在头文件vector中,它提供4种构造函数,用来定义由各 阅读全文
摘要:
继承 通过特殊化已有的类来建立新类的过程,叫做“类的派生”,原来的类叫做“基类”,新建立的类则叫做“派生类”。另一方面,从类的成员角度看,派生类自动地将基类的所有成员作为自己的成员,这叫做“继承”。基类和派生类又可以分别叫做“父类”和“子类”,有时也称为“一般类”和“特殊类”。 当从现有的类中派生出 阅读全文
摘要:
可以在类中使用const关键字定义数据成员和成员函数或修饰一个对象。一个const对象只能访问const成员函数,否则将产生编译错误。 常量成员 常量成员包括常量数据成员、静态常数据成员和常引用。静态常数据成员仍保留静态成员特征,需要在类外初始化。常数据成员和常引用只能通过初始化列表来获得初值。 常 阅读全文
摘要:
类是具有惟一标识符的实体;在类中声明的任何成员不能使用extern、auto和register关键字进行修饰;类中声明的变量属于该类,在某些情况下,变量也可以被该类的不同实例所共享。 访问权限用于控制对象的某个成员在程序中的可访问性,如果没有使用关键字,则所有成员默认声明为private权限。 定义 阅读全文
摘要:
函数重载 函数重载可以使一个函数名具有多种功能,即具有“多种形态”,这种特性称为多态性。 C++的多态性又被直观地称为“一个名字,多个函数”。源代码只指明函数调用,而不说明具体调用哪个函数。编译器的这种连接方式称为动态联编或迟后联编。在动态联编中,直到程序运行才能确定调用哪个函数(动态联编需要虚函数 阅读全文
摘要:
在C++中我们通常定义以下函数来求两个整数的最大值: 代码如下: int max(int a, int b){ return a > b ? a : b;} 为这么一个小的操作定义一个函数的好处有: ① 容易阅读和理解函数 max 的调用,要比读一条等价的条件表达式并解释它的含义要容易得多 ② 如果 阅读全文
摘要:
对象作为返回值 编译器会将函数栈中的返回值数据拷贝到返回栈中 指针作为返回值 函数的返回值可以是存储某种类型数据的内存地址,称这种函数为指针函数。它们的一般定义形式如下: 类型标识符 *函数名(参数列表); 在C++中,除了内存分配失败之外,new不会返回空指针,并且没有任何对象的地址为零。指针所指 阅读全文
摘要:
别名(引用):主要用于做函数的形式参数。 引用是复合类型,通过在变量前添加&符号来定义。不能定义引用类型的引用!!除了作为形参,定义引用时必须初始化!!如: 阅读全文