复制控制--复制构造函数、赋值操作符引言:   当定义一个新类型时,需要显式或隐式地指定复制、赋值和撤销该类型的对象时会发生什么– 复制构造函数、赋值操作符和析构函数的作用!     复制构造函数:具有单个形参,该形参(常用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