C++中explicit关键字作用
来源:互联网 发布:直销软件开发 编辑:程序博客网 时间:2024/04/30 13:24
explicit是c++中不太常用的一个关键字,其作用是用于修饰构造函数,告诉编译器定义对象时不做隐式转换。
举例说明:
include <iostream>include <string>using namespace std;class person{public: person(int age); person(int age,string name);private: int age; string name;};int main(int argc,char* argv){ person p = 23;//此处语法没问题,=>person p = person(23); return 0;}person::person(int age){ this->age = age;}person::person(int age,string name){ this->age = age; this->name = name;}
person p =23;这行代码没任何问题,因为person类中有一个person(int age)构造函数,gcc、cl等编译器会隐式调用此构造函数创建对象。
如果在person(int age)构造函数前加explicit关键字则编译无法通过。
include <iostream>include <string>using namespace std;class person{public: explicit person(int age);//此处增加explicit关键字 person(int age,string name);private: int age; string name;};int main(int argc,char* argv){ person p = 23; return 0;}person::person(int age){ this->age = age;}person::person(int age,string name){ this->age = age; this->name = name;}
编译时g++编译器报:
error: conversion from int' to non-scalar type
person’ requested
0 0
- C++中explicit关键字作用
- C++中explicit关键字作用
- C++中explicit关键字作用
- C++ 中 explicit 关键字的作用
- C++中explicit关键字的作用
- C++中explicit关键字的作用
- C++中explicit关键字的作用
- C++中explicit关键字的作用
- C++中explicit关键字的作用
- C++中explicit关键字的作用
- [转]C++中explicit关键字的作用
- C++中explicit关键字的作用
- C++中explicit关键字的作用
- C++ 中 explicit 关键字的作用
- C++中explicit关键字的作用
- C++中explicit关键字的作用
- C++中explicit关键字的作用
- C++中explicit关键字的作用
- [LeetCode刷题记录]Single Number II
- ARM7的存储器映射及分散装载
- .NET开发常用工具大盘点
- YTUOJ矩形类定义(复制类对象)
- 大白话解析模拟退火算法
- C++中explicit关键字作用
- git服务器简单搭建 linux
- 深入Spark内核:任务调度(1)-基本流程
- 25个必须记住的SSH命令
- hdu2015(偶数求和)
- linux学习之--SecureCRT 工具上传下载数据
- STM32F407串口的基本使用
- Android Matrix详解
- 写在200小时