C++笔记 explicit构造函数
来源:互联网 发布:淘宝优惠券内容怎么写 编辑:程序博客网 时间:2024/05/18 09:39
如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象
- class MyClass
- {
- public:
- MyClass( int num );
- }
- MyClass object = 10; //ok,convert int to MyClass
- 在上面的代码中编译器自动将整型转换为MyClass类对象,实际上等同于下面的操作:
上面的所有的C++ explicit关键字相关的操作即是所谓的"隐式转换"。
- MyClass temp(10);
- MyClass object = temp;
如果要避免这种自动转换的功能,将类的构造函数声明为"显式",也就是在声明构造函数的时候前面添加上explicit即可,这样就可以防止这种自动的转换操作,如果我们修改上面的MyClass类的构造函数为显式的,那么下面的代码就不能够编译通过了,
- class MyClass
- {
- public:
- explicit MyClass( int num );
- }
- //.
- MyClass object = 10; //err,can't non-explict convert
使用FTP连接类对象
class CInternetSession : public CObject
{
public:
/* explicit */ CInternetSession(LPCTSTR pstrAgent = NULL,
DWORD_PTR dwContext = 1,
DWORD dwAccessType = PRE_CONFIG_INTERNET_ACCESS,
LPCTSTR pstrProxyName = NULL,
LPCTSTR pstrProxyBypass = NULL,
DWORD dwFlags = 0);
}
CInternetSession *m_internet_session ;
m_internet_session = new CInternetSession(""); //new 空间时对构造函数传一个参数
- explicit构造函数(C++)
- 【C++】explicit构造函数
- [C++]explicit构造函数
- C++笔记----explicit构造函数
- C++笔记 explicit构造函数
- C++笔记 explicit构造函数
- C++笔记--explicit构造函数
- C++笔记 explicit构造函数
- C++笔记(1)explicit构造函数
- C++笔记(1)explicit构造函数
- C++笔记(1)explicit构造函数
- C++笔记(1)explicit构造函数
- C++笔记(1)explicit构造函数
- C++笔记(1)explicit构造函数
- C++笔记(1)explicit构造函数
- C++笔记(1)explicit构造函数
- C++笔记(1)explicit构造函数
- C++笔记(1)explicit构造函数
- 多版本并发控制(MVCC)在分布式系统中的应用
- Hbase安装与简介
- 【Deep Learning学习笔记】Efficient Estimation of Word Representations in Vector Space_google2013
- Eclipse 默认设置的换行长度
- 2^n
- C++笔记 explicit构造函数
- 【stagefrightpalyer】2 awesomeplayer结构分析
- 硬链接的实现和debugfs工具
- 字符集和字符编码(Charset & Encoding)
- Poj 2392(dp)
- python抓取网页出现 ^M 解决办法
- maven 的 oracle的Missing artifact com.oracle:******:jar:11.2.0.2.0
- 模板方法模式实现组合查询
- Linux下Apache与Tomcat的完全分布式集群配置(负载均衡)