【发布时间】:2013-10-06 19:34:30
【问题描述】:
如何通过函数调用将向量传递给指向另一个类中向量的指针,并通过接收类调用函数或元素;以及如何在接收类中远程调用该函数?
在本例中,object0 是一个对象类型,其中包含将被调用的函数。
Object0 将作为向量的成员在 object1 中创建。
然后,该向量将被传递给 object2,其中将从外部对象调用它;这里任意选择作为object1内;
main() 只是启动此应用程序的一种方式,欢迎提出改进建议。
#include <vector>
class object0
{
protected:
int a;
void function()
{
std::cout << "function called" << std::endl;
}
};
class object2
{
public:
std::vector<object0> *object0vec;
void knowvector(std::vector<object0> *_object0vec)
{
object0vec = _object0vec;
}
};
class object1
{
public:
object2* _object2;
object1()
{
_object2 = new object2;
}
void init()
{
std::vector<object0> object0vec;
object0vec.push_back(new object0)
_object2.object0vec[0].function();
如何让这条线工作? _object2.object0vec[0].function();
}
};
int main()
{
object1 newobject1;
object1 &ref_newobject1 = newobject1;
ref_newobject1.init();
}
【问题讨论】:
-
您只是忘记使用
knowvector将object0vec放入_object2。然而,整个代码在很多层面上都是错误的......
标签: c++ pointers vector reference callback