c++隐式的类类型转换问题
这是书中的一道题目,为什么就combine2不能转换,而combine1和3就没问题?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <code># include <string>
using namespace std;
class Sales_data {
public :
Sales_data() = default ;
Sales_data( const string& str) :data(str) {}
Sales_data &combine1(Sales_data a) {}
Sales_data &combine2(Sales_data& a) {}
Sales_data &combine3( const Sales_data& a) const {}
private :
string data;
};
int main()
{
string str = "hello" ;
Sales_data item( "9-999-99999-9" );
item.combine1(str);
item.combine2(str);
item.combine3(str);
}
</code>
|