如何不允许调用对象的拷贝构造函数和赋值运算符
来源:互联网 发布:mac 音量快捷键 编辑:程序博客网 时间:2024/06/18 00:27
C++中,如果不自定义对象的拷贝构造函数和赋值运算符,编译器会为该类添加默认的拷贝构造函数和赋值运算符,而且都是public。
但是,有时候我们不希望编译器管太多“闲事”,比如,我们定义一个类,不允许进行拷贝,不允许调用拷贝构造函数和赋值运算符,那该怎么办呢?
那么,我们就希望,如果调用的此类的拷贝构造函数或者赋值运算符,编译器能够报错。我们可以采用,把拷贝构造函数和赋值运算符声明为private。这样的话,只要类的成员函数和友元函数不调用他们,外部调用就会在编译期间侦测出错误。
但是,难保类的成员函数和友元函数不调用,因此,可以采用“将成员函数声明为private,而且故意不实现他们”,这样的话,如果调用了他们,编译器也会报错。
当然,如果定义一个基类,把拷贝构造函数和赋值运算符声明为私有,子类以private继承自基类,这样的实现方式会更好。
- 如何不允许调用对象的拷贝构造函数和赋值运算符
- 调用赋值运算符 和 拷贝构造函数
- 拷贝构造函数和赋值运算符
- 拷贝构造函数和赋值运算符
- 拷贝构造函数和赋值运算符
- 拷贝构造函数和赋值运算符
- 拷贝构造函数和赋值运算符
- 拷贝构造函数和赋值运算符的重载的调用次数问题
- 使用拷贝构造函数和赋值运算符的区别
- 类的赋值运算符重载和拷贝构造函数
- 对于拷贝构造函数和赋值运算符的理解
- 拷贝构造和赋值运算符函数的重载
- 再论拷贝构造函数和拷贝赋值运算符
- C++对象的拷贝构造函数 赋值函数 调用情况
- 类的构造函数、拷贝构造函数、赋值运算符和析构函数
- 浅析C++的构造函数,拷贝构造函数和赋值运算符
- 浅析C++的构造函数,拷贝构造函数和赋值运算符 .
- 浅论析构函数,拷贝构造函数和赋值运算符
- MongoDB安装与使用,Java版
- 开源网管软件hyperic hq对informix的监控和管理
- Dom4j 使用简介
- 四种简单的排序算法
- JavaScript 中 undefined 与 undeclared 之间的区别?
- 如何不允许调用对象的拷贝构造函数和赋值运算符
- DSB,ISB,DMB指令
- java中的多线程
- Objective-C – 关联引用
- C#项目的.settings文件中的自定义类型(及其数组)的配置步骤
- 智能指针(SP,WP)的使用条件
- C#连接MySql的小封装
- java程序员面试必备的32个要点
- Android核心分析之一