【发布时间】:2012-07-04 09:26:47
【问题描述】:
写了这个小类,每次创建这个类的对象时都会生成一个UUID。
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_generators.hpp>
#include <boost/uuid/uuid_io.hpp>
class myClass {
public:
boost::uuids::uuid GetUUID();
virtual ~myClass();
myClass() { // constructor
mId = boost::uuids::random_generator()();
std::cout<< "object created with uuid " << mId <<std::endl;
}
private:
boost::uuids::uuid mId;
}
在某些时候,我将这些对象推送到一个向量,并使用简单的赋值运算符将该向量与另一个向量相等。为了确保新向量中的对象不会生成新的 UUID,我想编写一个复制构造函数。但正如您所见,构造函数不需要参数。所以我不确定如何编写复制构造函数。此外,如果我有多个变量而不是一个 UUID,我该如何处理这种情况?
【问题讨论】:
-
您正在使用赋值运算符进行比较?或者
equating是什么意思?constructor needs to arguments是指two参数还是no参数? -
对错误感到抱歉。我已经更正了。
标签: c++ copy-constructor