假设我们有一个IBase带有纯虚方法(接口)的抽象基类.
然后,我们得出CFoo,CFoo2从基类.
我们有一个知道如何使用IBase的功能.
Foo(IBase *input);
Run Code Online (Sandbox Code Playgroud)
这些情况下的通常情况是这样的:
IBase *ptr = static_cast<IBase*>(new CFoo("abc"));
Foo(ptr);
delete ptr;
Run Code Online (Sandbox Code Playgroud)
但是指针管理最好避免使用,那么有没有办法在这种情况下使用引用?
CFoo inst("abc");
Foo(inst);
Run Code Online (Sandbox Code Playgroud)
在哪里Foo:
Foo(IBase &input);
Run Code Online (Sandbox Code Playgroud)