《C++primer》之 第12-14章 类、复制控制、重载操作符

12章  类

1、类的成员函数有一个附加隐含实参,将函数绑定到调用函数的对象。

13章  复制控制

1、复制构造函数是一种特殊构造函数,具有单个形参,该形参(常用 const 修饰)是对该类类型的引用

当定义一个新对象并用一个同类型的对象对它进行初始化时,将显式使用复制构造函数。

当将该类型的对象传递给函数或函数返回该类型的对象时,将隐式使用复制构造函数。

2、析构函数是构造函数的互补:当对象超出作用域或动态分配的对象被删除时,将自动应用析构函数。析构函数可用于释放对象时构造或在对象的生命期中所获取的资源。不管类是否定义了自己的析构函数,编译器都自动执行类中非 static 数据成员的析构函数。

3、与构造函数一样,赋值操作符可以通过指定不同类型的右操作数而重载。右操作数为类类型的版本比较特殊:如果我们没有编写这种版本,编译器将为我们合成一个。

4、复制构造函数、赋值操作符和析构函数总称为复制控制。编译器自动实现这些操作,但类也可以定义自己的版本。通常,编译器合成的复制控制函数是非常精练的——它们只做必需的工作。但对某些类而言,依赖于默认定义会导致灾难。实现复制控制操作最困难的部分,往往在于识别何时需要覆盖默认版本。有一种特别常见的情况需要类定义自己的复制控制成员的:类具有指针成员

 

 

posted @ 2012-05-18 21:22  王耀it  阅读(159)  评论(0编辑  收藏  举报