小智 37
您可以返回一个抽象类指针 - 假设B是一个派生自抽象类的具体类A:
A * f() {
return new B;
}
Run Code Online (Sandbox Code Playgroud)
或参考:
A & f() {
static B b;
return b;
}
Run Code Online (Sandbox Code Playgroud)
或智能指针:
std::unique_ptr<A> f() {
return std::make_unique<B>(...);
}
Run Code Online (Sandbox Code Playgroud)
不可以,但函数可以具有指向抽象类的指针(或引用)的返回类型。然后它将返回从抽象类派生的类的实例。
| 归档时间: |
|
| 查看次数: |
25480 次 |
| 最近记录: |