宝杉的博客

UNIX/LINUX;ACE;SNMP;C++
posts - 33, comments - 23, trackbacks - 0, articles - 0

08-22

Posted on 2007-08-30 10:33 宝杉 阅读(157) 评论(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


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理