c++中类型的隐式转换。

来源:互联网 发布:手机淘宝付款步骤 编辑:程序博客网 时间:2024/06/06 18:40

在满足下条件时,编译器才会使用隐式转换:

1,存在匹配的构造函数。

如:class A {

public:

A(B);


};

//

A  a=B;


2,存在声明的转换操作符:

class B {

public:


operator A() const;

};

//

A  a=B;

备注:隐式转换有时可能造成二义性。为了阻止编译器使用隐式转换,可以将构造函数用explicit修饰。




0 0
原创粉丝点击