我有一个类class1
及其构造函数class1(int i)
和复制构造函数class1(const class1& other)
。C++指针指向的类的副本的动态分配
class1
的实例是动态创建的,因为在编译时int
参数是未知的。
我的问题是,我必须通过生产对象和消费对象之间的指针:
void producer::produceAndSend(...) {
class1 *c1 = generate(...);
consumerObj.set(c1);
}
class consumer {
class1 *internalC;
void set(class1 *c);
}
void consumer::set(class1 *c) {
this->internalC = c; //This only copies the pointer, not the content
}
我想存储由c1
所指向的对象的副本,此副本必须指出internalC
。 我该如何做到这一点?
你可以做'internalC = new class1(* c)'。 – 0x499602D2
这会导致错误:无法将'class1 **'转换为'作业中的'class1 *' –
您是否可以发布已更新的'consumer :: set'实现,因为我认为0x49 ...建议看起来正确。 – ilent2