我写了这个。
class A { };
class B : public A
{
public:
static B Convert(const A &a) { return static_cast<const B&>(a); }
};
int main()
{
A a;
B b = B::Convert(a);
}
但是我想拥有这个,你知道吗?
B b = a.Convert();
谢谢您的回答! ^^
您可以如下实现:
class A {
// ...
B& Convert() { return return static_cast<B&>(*this); }
}
BUT非常注意要检查这是否是一次有效的转换,否则在运行时可能会得到未定义的行为!!