复制控制--复制构造函数、赋值操作符引言: 当定义一个新类型时,需要显式或隐式地指定复制、赋值和撤销该类型的对象时会发生什么– 复制构造函数、赋值操作符和析构函数的作用! 复制构造函数:具有单个形参,该形参(常用const修饰)是对该类类型的引用。当定义一个新对象并用一个同类型的对象对它进行初始化时,将显式的使用复制构造函数;当将该类型的对象传递给函数或者从函数返回该类型的对象时,将隐...
分类:
编程语言 时间:
2014-05-02 07:48:27
阅读次数:
385
博客原文:http://hankjin.blog.163.com/blog/static/33731937201031511305338/先说C++,标准C++不支持finally,
如果要实现finally的效果,可以用析构函数来实现: class File_handle { FILE* p;p....
分类:
编程语言 时间:
2014-05-01 16:17:26
阅读次数:
371
首先,做一个最简单的实验,在电脑上运行下面的代码,将会产生运行错误,这或许会使你百思不得其解:
#include
using namespace std;
class Base
{
private:
int a;
public:
~Base(){cout << "Base dtor..." << endl;}
};
class Derived : public Base
{...
分类:
其他好文 时间:
2014-04-29 13:48:21
阅读次数:
357
不是所有的函数都能自动地从基类继承到派生类中的。构造函数和析构函数是用来处理对象的创建和析构的,它们只知道对在它们的特殊层次的对象做什么。所以,在整个层次中的所有的构造函数和析构函数都必须被调用,也就是说,构造函数和析构函数不能被继承。另外,operator=
也不能被继承,因为它完成类似于构造函....
分类:
其他好文 时间:
2014-04-28 17:31:28
阅读次数:
621