当前位置: 首页 > news >正文

C++ explicit关键字的作用

explicit关键字只针带一个参数的构造函数有效

#include <iostream>
using namespace std;class A
{
public:A(int temp) //普通构造函数{a = temp;cout << "普通构造函数: a= " << a << endl;}A(const A &temp) //拷贝构造函数{a = temp.a;cout << "拷贝构造函数: a = " << a << endl;}private:int a;
};int main()
{cout << "显示调用:" << endl;A a(250); //显式调用调用普通构造函数,okA b(a);   //显式调用调用拷贝构造函数,okcout << "\n隐式转换:" << endl;A c=222; //隐式转换成调用普通构造函数,okA d=c;   //隐式转换成调用拷贝构造函数,okreturn 0;  
}

在这里插入图片描述

使用explicit关键字后

#include <iostream>
using namespace std;class A
{
public:explicit A(int temp) //普通构造函数,被声明为explicit(显式){a = temp;cout << "普通构造函数: a= " << a << endl;}A(const A &temp) //拷贝构造函数,被声明为explicit(显式){a = temp.a;cout << "拷贝构造函数: a = " << a << endl;}private:int a;
};int main()
{cout << "显示调用:" << endl;A a(250); //显式调用调用普通构造函数,okA b(a);   //显式调用调用拷贝构造函数,ok//explicit构造函数只能被显式调用A c=222; //不能通过隐式转换,errorA d=c;   //不能通过隐式转换,errorreturn 0;  
}

在这里插入图片描述

http://www.lryc.cn/news/223658.html

相关文章:

  • 排序算法之-冒泡
  • 【微服务】API治理发展历史与未来趋势
  • TikTok shop美国小店适合哪些人做?附常见运营问题解答
  • [OS]11.9.2023 中断
  • unity笔记
  • 二十、泛型(5)
  • Oracle递归查询树形数据
  • pycharm pro v2023.2.4(Python开发)
  • 武汉某母婴用品公司 - 集简云连接ERP和营销系统,实现库存管理的自动化
  • AD9371 Crossbar
  • 设计模式 -- 责任链模式(Chain of Responsibility Pattern)
  • 开源:特殊的垄断
  • linux安装oracle client解决cx_Oracle.DatabaseError: DPI-1047
  • 工业园区一般用多大规格的电表?
  • Debian12换镜像源
  • deeplog中输出某个 event 的概率
  • 流媒体中relay和forword的区别
  • git创建本地分支并提交到远程
  • Selenium定位元素的方法css和xpath的区别
  • 【目标检测】SSD损失函数详解
  • C【整数正序分解】
  • 基于springboot实现高校党务平台管理系统【项目源码】计算机毕业设计
  • Day24力扣打卡
  • 5G-A 商用加速,赋能工业互联网
  • 代码随想录day2
  • UML/SysML建模工具更新(2023.10)(1)StarUML、Software Ideas Modeler
  • kubectl 资源管理命令-陈述式
  • 【紫光同创国产FPGA教程】——【PGL22G第九章】HDMI环路实验例程
  • IDEA Plugin插件开发相关踩坑
  • 汽车标定技术(八)--MPC57xx是如何支持标定的页切换