分类 C++·语法 下的文章

抽象基类(ABC)


前言

我对抽象基类(Abstract Base Class,ABC)的理解在两个点上。第一点是抽象,即高度抽象;第二点是基类,对抽象基类来说,它的存在只是为了作为基类(区别于具体类),不可以被实例化

高度抽象一词听起来本身就很“抽象”,不妨让我用“总结”这个词进行通俗解释。比方这里有两类人,一类只是聋人,另一类只是盲人。现在我们需要对这两类人抽象,也就是需要总结两类人的相同点+不同点,然后付诸于代码。为方便起见,这里就列举三个行为:散步为相同点,看得见与看不见为不同点,听得见与听不见为不同点——这样一个过程,就是在“抽象”。(好吧,这般解释可能还是抽象)


引用


概念

定义:引用是已定义变量的别名。

分类:左值引用(&),右值引用(&&)。

语法:double& lref; | double&& rref;

优点:节省时间和内存。

主要用途:作为参数的形参。引用变量用作参数,函数将使用原始数据,而不是其副本。


异常机制


组成

C++异常包括三部分:

  • 引发异常: throw
  • 处理异常: catch
  • 使用try块:try

异常提供了将控制权从程序的一个部分传递到另一部分的途径。


命名空间


概念

声明区域(declaration region):

  • 所在文件 (函数外的全局变量)
  • 所在代码块 (花括号内的声明)

潜在作用域(potential scope):从声明点开始,到声明区域的结尾。
作用域:变量对程序而言,可见的范围。