[英]Deep Copy Constructor for Abstract Member and Class Function Pointer in C++
[英]Deep copy of a pointer function
我有一个类(myClass),它具有一个指针,可像这样充当私有成员:
void (gi::myClass::*ptrFunction) (int , int , vector<int> & , vector<int> & , vector<int> &);
当您在运行时(带有新对象)创建myClass的对象(* myClass ptrObject)时,此指针会在构造函数中初始化,并带有函数的地址。 使用上面创建的相同对象之后,我调用另一个函数。 在此函数中,我必须创建调用对象的深层副本:
gi::myClass *ptrObject2 = new myClass(....);
上面我叫一个构造函数,它执行复制操作,但不初始化* ptrObject2的成员* ptrFunction我的问题是:我如何将指针函数从* ptrObject复制到ptrObject2? (我的编译器是C ++ 11)
没有函数指针的深层副本 。 您没有复制任何数据,只是将引用复制到v表中。 因此:
ptrObject2->ptrFunction = ptrObject->ptrFunction
很好
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.