c++ - 将接口(interface)或对函数的引用作为参数传递

标签 c++ oop parameters

我有包装器类,并将其对象传递给函数。

class wrapper
{
/// some functionality
}

将什么作为类的引用传递会更好

fun(wrapper & ob)

或包装器继承的新接口(interface),如:

class Interface
{
}
 ....
class wrapper:public Interface
 ...
fun(Interface& ob)

最佳答案

如果您希望您的函数只接受 wrapper 的实例类,使用

fun(wrapper& ob)

fun(const wrapper& ob)

如果您不打算修改它。

如果你想让你的函数接受任何实现 Interface 的东西类(只有在有更多的类而不仅仅是 wrapper 继承自 Interface 时才真正有用),然后使用:

fun(Interface& ob)

fun(const Interface& ob)

选择取决于用例。

关于c++ - 将接口(interface)或对函数的引用作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38995591/

相关文章:

java - 接口(interface)是否提供完整的抽象?如何?

javascript - 我们可以在运行时更改 Protractor 配置文件中定义的参数值吗

c++ - 是否可以将线程执行转移到另一个线程?

c++ - 在 C++ 中截断十进制值

php - 如何使用类中的常量作为 php 函数中的参数定义?

php - 如何调用类的方法?

C++指针复制重载

c++ - 为什么在windows中注入(inject)了additional\r?

delphi - adoquery1:未找到参数“名字”

Python - 确定参数是否为整数