C++隐式转换
来源:互联网 发布:淘宝店铺关闭重新开 编辑:程序博客网 时间:2024/04/27 19:44
#include <iostream>using namespace std;class A{int a;public:A(int n):a(n){cout << "Constructor!" << endl;}~A(){cout << "Destructor!" << endl;}};int main(){A a = 10;return 0;}
程序输出:
Constructor!
Destructor!
A a = 10;这种语法是通过的,为什么?因为发生了构造函数的隐式转换,隐式转换这种规则允许用一个参数来初始化对象,这会调用类中带有一个参数的构造函数,这个参数也可以有默认值 只要有一个参数就行。
另外,加上explicit关键字,可以消除这样的隐式转换,在上面的构造函数前面加上explicit关键字,会发现编译失败!
5 0
- C隐式类型转换
- 隐式转换与显式转换【C#】
- C强制类型转换与隐式转换
- C、C++中的隐式转换和显示转换
- C 隐式类型转换 规则
- c中数据类型的隐式转换
- c中数据类型的隐式转换
- c中数据类型的隐式转换
- C语言隐式类型转换
- C语言隐式类型转换
- C语言中的隐式类型转换
- C语言隐式类型转换
- c/c++的隐式转换
- C语言学习大纲--隐式转换
- C语言隐式类型转换
- C语言隐式类型转换
- C语言中的隐式转换
- c语言的隐式转换
- uva 1434 - YAPTCHA(数论)
- acm-最短路 畅通工程续 (hdu 1874)
- HDOJ 1097 A hard puzzle 阶乘末尾数找规律
- 大数据导出报错
- 数据结构(scheme) -- 抽象数据类型(ADT) -- 堆
- C++隐式转换
- android camera
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 多重背包
- I2C通信之稳定性问题探讨
- openwrt在RT5350上编译安装运行helloworld.ipk
- HTML5 象棋
- C++中str1::function和bind
- HDU 1712 ACboy needs your help 分组背包
- OC编程语言学习-2