B convert(const A&);
有没有办法告诉C自动,对于任何以“B类”作为参数的函数,自动转换“A类”.
谢谢!
class B { public: B(const A&); };
并在那里进行转换.编译器会说“我如何制作一个B?哦,我看到B可以用A构建”.
另一种方法是使用转换运算符:
class A { public: operator B(void) const; }
并且编译器会说“我怎样才能使A成为B?哦,我看到A可以转换为B”.
请记住,这些很容易被滥用.确保这两种类型隐式转换为彼此确实有意义.