Posted on 2007-08-30 10:33
宝杉 阅读(169)
评论(0) 编辑 收藏 引用 所属分类:
C++
如果不想让别人使用编译器编写构造拷贝和赋值函数,可以声明为私有:
class A
{ …
private:
A(const A &a); // 私有的拷贝构造函数
A & operate =(const A &a); // 私有的赋值函数
};
如果有人试图编写如下程序:
A b(a); // 调用了私有的拷贝构造函数
b = a; // 调用了私有的赋值函数
编译器将指出错误,因为外界不可以操作A的私有函数。
但是怎样才能使用构造拷贝和赋值函数呢?
虚拟函数使用:C++exams\destructor
在编写派生类的赋值函数时,注意不要忘记对基类的数据成员重新赋值。例如:
C++exams\base_operator