非C++内建型别A和B,在哪几种情况下B能隐式转化为A?

2015-04-22  本文已影响68人  冰吉凌

答:

1. class B : public A { ……} // B公有继承自A,可以是间接继承的

2. class B { operator A( ); } // B实现了隐式转化为A的转化

3. class A { A( const B& ); } // A实现了non-explicit的参数为B(可以有其他带默认值的参数)构造函数

4. A& operator= ( const A& ); // 赋值操作,虽不是正宗的隐式类型转换,但也勉强算一个

上一篇 下一篇

猜你喜欢

热点阅读