如何在类的其他成员函数中重用传递的引用?
How to reuse a passed reference in some other member-function of a class?
我有一个很奇怪的要求。我的类有两个成员函数,每个函数接收不同对象的引用(但这两个对象通过继承相关)。现在我希望能够在类的其他成员函数中使用这两种不同类型的引用(取决于用例,我只会得到一个,但永远不会同时获得两个)。如何实现这一点。我知道这听起来有点奇怪,但是我的类的实例将用作其他进程的插件,我"必须"从流程框架拥有的纯虚拟类派生我的类并覆盖我刚刚提到的这两个成员函数。有什么办法吗?
为了说明此方案,请执行以下操作:
func1(const Data& params, MyParent& parent);
func2(const Data& params, MyChild& child);
以上是我必须覆盖的两个成员函数,没有我可以更改调用模式,我必须接受这些非常量引用
有没有办法让我们说用MyParent& parent
或MyChild& child
来称呼myfunc()
,但不能同时使用两者?我不想直接从func1()
和func2()
调用myfunc()
,因为我希望在两者之间完成一些处理,然后我想在所有处理之后将所有待完成的任务排队,最后使用MyParent& parent
或MyChild& child
调用myfunc()
,但绝不能两者兼而有之。
提前感谢任何帮助。
C++中存在函数或方法重载。您应该简单地使用两种类型声明您的方法,编译器将选择应该执行的方法:
myfunc(MyParent& parent);
myfunc(MyChild& child);
相关文章:
- C++有什么方法可以在既不调用函数模板也不提供其模板参数的情况下引用函数模板?
- 无法将右值引用函数与 GCC 匹配
- C ++引用函数参数似乎包含原始对象的副本,而不是充当"real reference"
- 通过引用函数传递指针参数是什么意思?
- 常量引用函数参数的地址何时唯一?
- 我想了解为什么在这个例子中使用引用函数?或者引用在c++函数中的重要性
- C++ 通过引用函数传递数组,但内容保持不变
- 用数组或指针引用函数?
- 引用函数如何"int &foo();"工作?
- 常量引用函数参数:是否可以禁止临时对象?
- 计算在代码中引用函数的次数
- <initializer_list> 引用函数
- 字符串引用(函数)的差异
- 在类中引用函数时的"No Matching Function for Call"
- 无法通过引用函数"calcValues"中"firstNum"和"secondNum"变量来更改值
- 尝试引用已删除的函数(不引用函数)
- 引用函数指针
- 引用函数按值和自动返回
- 为什么我们可以取消引用函数指针
- 通过引用函数传递值的目的是什么