1. 程式人生 > >禁用拷貝建構函式和過載賦值運算子

禁用拷貝建構函式和過載賦值運算子

【方法】

1,將複製建構函式和賦值操作符宣告為private。

2,若也不允許友元和成員使用,只提供成員的宣告而不提供定義。這樣當程式中出現 複製或賦值現象時,會造成連結錯誤。

#define DISABLE_COPY(Class) \
Class(const Class &); \
Class &operator=(const Class &)

class Widget  
{  
public:  
    int* pi;  
private:  
    DISABLE_COPY(Widget);
};

===============