C++ explicit关键字使用方法

大家好,我叫徐锦桐,个人博客地址为www.xujintong.com。平时记录一下学习计算机过程中获取的知识,还有日常折腾的经验,欢迎大家来访。

解释

explicit关键字用于类中的构造函数,大白话:不是参数能自动进行类型转换吗,explicit就是关闭这种功能的。官话:即被explicit关键字修饰的类构造函数,不能进行自动地隐式类型转换,只能显式地进行类型转换。
只有一个参数的构造函数,或者构造函数有n个参数,但有n-1个参数提供了默认值,这样的情况才能进行类型转换。

代码

复制代码
class Demo
{
  public:
  Demo();                     /* 构造函数1 */
  explicit Demo(double a);        /* 示例代码2 */
  Demo(int a,double b);           /* 示例代码3 */
  ~Demo();
  void Func(void);
  private:
  int value1;
  int value2;
};
相关推荐
感哥1 天前
C++ 面向对象
c++
沐怡旸1 天前
【底层机制】std::shared_ptr解决的痛点?是什么?如何实现?如何正确用?
c++·面试
感哥1 天前
C++ STL 常用算法
c++
saltymilk2 天前
C++ 模板参数推导问题小记(模板类的模板构造函数)
c++·模板元编程
感哥2 天前
C++ lambda 匿名函数
c++
沐怡旸2 天前
【底层机制】std::unique_ptr 解决的痛点?是什么?如何实现?怎么正确使用?
c++·面试
感哥2 天前
C++ 内存管理
c++
博笙困了2 天前
AcWing学习——双指针算法
c++·算法
感哥2 天前
C++ 指针和引用
c++
感哥3 天前
C++ 多态
c++