【发布时间】:2020-10-03 03:19:40
【问题描述】:
这是我写的。
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();
提前感谢您的回答! ^^
【问题讨论】:
-
似乎您被要求为
B编写一个以A为参数的构造函数。我不清楚这个问题的意义是什么。 -
我只想写这个 B b = B::Convert(a);这种形式 B b = a.Convert();
-
这在有效的 C++ 中是不可能的。由于 A 是 B 的基类,因此无法从 A 转换为 B。请注意,您现有的代码也是无效的。