如何将对象传递给本地对象方法
How to pass object to local object method?
我有B类和A类。在类 B 的方法中(让我们命名为 foo()),我已经定义了类 A 的本地对象。在 A 类中,我有采用 B 对象的方法。当 A 对象在 B 类的方法中是本地时,如何将 B 对象传递给类 A 的此方法?
class B {
public:
void foo()
{
A a;
a.bar(???); // want to pass B object?
}
};
class A {
public:
void bar(B& b)
{
...
}
};
如果要传递B
的当前实例:
a.bar(*this);
如果需要其他实例:
B b;
a.bar(b);
如果要传递临时,则需要将A::foo
修改为:
void bar(const B& b)
然后直接传递:
a.bar(B());
this
指针是你需要的,它指向调用成员函数的实例。
a.foo(*this); // dereference since 'this' is a pointer
相关文章:
- 使用std::函数映射对象方法
- 正在调用shared_ptr对象方法
- 检查哪个对象调用了另一个对象的对象方法
- 如何在C++中循环访问未知对象方法?
- c++ 替换调用对象方法的宏函数
- 我能否通过将函数实现为类对象方法来避免使用互斥锁
- 我可以制作一个对象方法,如果单独调用,它将自行修改,但如果在复制初始化期间调用,则会返回一个新对象?
- 如何让两个不同的对象方法相互用作参数
- 在创建 c++ 期间调用对象方法
- 扩展中的日期时间对象方法C++问题
- 将对象方法从向量应用于C 的第二个向量中的对象
- 将 C++/CLI 对象指针传递给本机对象方法
- 多态性的面向对象方法
- 将对象方法传递到变量
- C :使用Main中定义的对象方法的函数
- 有关使用矢量迭代器访问对象方法的问题
- 定义可以执行对象方法和独立函数的函数时出现问题
- 调用列表中子对象方法的最佳方法
- main.cpp:(.text+0x8f):对[对象方法]的未定义引用
- cpp 从需要超类对象的函数访问子类对象方法