博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++基础 explicit
阅读量:6825 次
发布时间:2019-06-26

本文共 748 字,大约阅读时间需要 2 分钟。

c++的构造函数也定义了一个隐式转换

explicit只对构造函数起作用,用来抑制隐式转换

看一个小例子

新建一个头文件

#ifndef CMYSTRING_H#define CMYSTRING_H#include
#include
using namespace std;class CMyString{public:CMyString(const char * str);void SetString(string str);};#endif // CMYSTRING_H

 

实现它

#include "CMyString.h"CMyString::CMyString(const char * str){    std::cout<

在调用 的时候

可以直接这么调用构造函数

CMyString my1="ab";

 

加上explicit

#ifndef CMYSTRING_H#define CMYSTRING_H#include
#include
using namespace std;class CMyString{public:explicit CMyString(const char * str);void SetString(string str);};#endif // CMYSTRING_H

之后再和上面一样调用就不会通过了

只能是

CMyString my1("ab");

 

本文转自lpxxn博客园博客,原文链接:http://www.cnblogs.com/li-peng/p/3645262.html,如需转载请自行联系原作者

你可能感兴趣的文章
Win10 远程桌面 连上就断开
查看>>
C基础:scanf()及getchar()
查看>>
Preload与 Prefetch
查看>>
前端页面如何适应不同屏幕分辨率常用做法
查看>>
The Best Linux Distribution of them all
查看>>
spring security:IllegalArgumentException
查看>>
在springboot日志打印的过程中,大量打印JndiPropertySource信息
查看>>
Hadoop CDH4.5 HDFS集群部署
查看>>
linux su和sudo命令的区别
查看>>
ORACLE SEQUENCE用法
查看>>
Nginx伪静态配置和常用Rewrite伪静态法则
查看>>
解析nginx负载均衡
查看>>
python 发送邮件535, 'Error: authentication failed' 解决
查看>>
我的友情链接
查看>>
IPsec ×××的交互模式
查看>>
php-fpm配置多进程池运行
查看>>
软件工程-乱弹
查看>>
进程vs线程
查看>>
基础总结篇之三:Activity的task相关
查看>>
JavaScript的循环方式(1)
查看>>