单参数构造函数的隐式类型转化

单参数构造函数的隐式类型转化

单参数构造函数的隐式类型转化_第1张图片
单参数构造函数的隐式类型转化_第2张图片
单参数构造函数的隐式类型转化_第3张图片

如果你不想发生隐式类型的转化,可以在默认构造函数前加上关键字:explicit

单参数构造函数的隐式类型转化_第4张图片

多参数的玩法和单参数的是不一样的

c98 不支持多参数隐式类型的转化
c++11 支持多参数隐式类型的转化
举个例子:
多参数可以这样写:
B bb1(1, 1);
B bb2 = {2, 1}; 用的是花括号。

匿名对象

A   aa6(6);   //这个叫有名对象,A 是自定义类型的名字,aa6 是对象的名字
A (6)             //这个是匿名对象,因为它没给对象起名字,只有一个类型在那里。 

有名对象的特点是:生命周期在当前局部域
匿名对象的特点是:生命周期就只在这一行。

你可能感兴趣的:(c++)