构造函数私有化的作用以及私有继承
来源:互联网 发布:零基础sql注入书籍 编辑:程序博客网 时间:2024/05/22 05:11
1. 将default构造函数声明为私有化
作用1: 只允许类内部进行初始化(singleton模式)
#include "iostream"using namespace std;class Base {private:Base() {}Base(const Base&) {}Base& operator=(const Base&){}static Base* object_base;public:static Base* GetInstance() {if (object_base == NULL) {object_base = new Base();cout << "object created" << endl;}else {cout << "object exist" << endl;}return object_base;}};Base * Base::object_base = NULL; //类静态成员变量必须在类外初始化,并且不带staticint _tmain(int argc, _TCHAR* argv[]){Base* base = Base::GetInstance();return 0;}
作用2: 防止函数调用中的值传递
2. 将copy构造函数和copy assignment操作符私有化
作用: 拒绝class的拷贝和赋值动作
- 进一步为了防止自身member函数和friend函数调用私有的copy构造函数和copy assignment操作符,可以在声明私有的同时,不定义其实现.那么在发生调用之后,会报链接error.
- 为了实现上述目的,还可以私有继承一个含有私有构造函数的基类,这样子类不声明任何构造函数的时候,编译器生成的自动版本构造函数,会尝试调用基类的对应构造函数,因而被拒绝.
0 0
- 构造函数私有化的作用以及私有继承
- 私有化构造函数的作用
- 私有化构造函数的作用
- 私有化构造函数的作用
- 私有的构造函数作用
- 私有构造函数的作用
- 私有构造函数的作用
- java构造私有化的作用
- C++ 私有构造函数的作用
- C++私有构造函数的作用
- C++ 私有构造函数的作用
- C++ 私有构造函数的作用
- C++ 私有构造函数的作用
- C++ 私有构造函数的作用
- C++ 私有构造函数的作用
- java中私有构造函数的作用
- C++ 私有构造函数的作用
- Java 构造方法私有化的作用
- android 百度地图API 使用Marker和InfoWindow
- 嵌入式软件开发——汇顶 笔试 一面 二面
- jquery
- 66. Plus One
- 【Struts2框架】第七节类型转换-类型转换原理和自定义类型转换器实例
- 构造函数私有化的作用以及私有继承
- poj 2485 Highways
- leetcode39 Combination Sum
- getopt、getopt_long和getopt_long_only解析命令行参数
- 拓扑排序
- IOS--UI--LessonGCD
- 黑马程序员----java基础面向对象总结
- 在 eclipse 上安装 genymotion 插件不成功的解决办法
- Linux 内核的同步机制