C++ 语法实验室之explicit关键字
来源:互联网 发布:linux设置时间 编辑:程序博客网 时间:2024/05/22 16:49
好久没写过博客了,走一篇基础语法吧,算是凑个数吧
C++的explicit关键字的唯一作用就是放在一个类的构造函数前面修饰他,使此个构造函数无法通过赋值方式的隐式转换来调用。
以上这句话是我概括的,那么具体案例如下
// testcpplus.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <stdio.h>#include <stdlib.h>#include <string>class MyClass{public:explicit MyClass(int _age){age = _age;}MyClass(const char *_name){strcpy(name, _name);}~MyClass(){}public:int age;char name[200];};int main(int argc, char* argv[]){MyClass myclassint1(5);//可以编译OKMyClass myclassint2 = 5;//无法隐式调用构造函数MyClass myclassfloat = "123456";//可以编译OK。隐式调用了构造函数myclassfloat = "789654";//可以编译OK。printf("测试完毕\r\n");system("pause");return 0;}
总结:此关键字最大作用就是防止在有很多单参数构造函数等于号极度容易冲突情况,可以加上此关键字,保证正取的调用构造函数。
注意:实际我个人推荐要尽量可能避免一切隐式转换的发生,不管它能不能隐式转换。
1 0
- C++ 语法实验室之explicit关键字
- C++ 语法实验室之extern关键字
- C++ 语法实验室之volatile关键字
- C++ 语法实验室之mutable关键字
- C++ 语法实验室之operator关键字
- C++ 语法实验室之 inline 关键字
- C++ 语法实验室之 static 关键字
- C++ 语法实验室之 friend 关键字
- C++:explicit 关键字
- C++explicit关键字
- 【C++】explicit关键字
- C++explicit关键字
- 【C++】explicit关键字
- 【C++】explicit关键字
- 【C++】explicit关键字
- C++关键字之explicit
- C++关键字之explicit
- c++关键字之explicit
- 《剑指Offer》 从上往下打印出二叉树
- 单链表翻转操作
- struts2_07_result type(结果类型)
- 到了Vue2.x有哪些变化?—— 组件通信
- 用户登录和记录密码
- C++ 语法实验室之explicit关键字
- 配置iptables,把80端口转到8080的简单方法
- 学习H5页面遇到的一些问题与解决办法汇总
- CKEditor-4.6.2结合Struts2的使用,加CKEditor图片上传的配置
- C++第三次作业
- AppiumLibrary 联动菜单
- display:flex 布局教程
- 【OpenCV3】角点检测——cv::goodFeaturesToTrack()与cv::cornerSubPix()详解
- 447. Number of Boomerangs\187. Repeated DNA Sequences\537. Complex Number Multiplication