通过构造函数传递对象的引用

passing a reference of an object through constructor

本文关键字:对象 引用 构造函数      更新时间:2023-10-16

我有一个类CM,它有一个构造函数,如下所示:

CM::CM(const std::vector<Something>& vector1, const SomethingElse&     something):myVector(vector1),mySomething(something)
{
}

从另一个类(类广告)我想创建一个对象

Ad.h

CM* cmObj;

Ad.cpp

Ad::Ad()
{
cmObj = (CM*) malloc(1);
}

并且我还想将我的cmObj实例化为NULL。我该怎么做?

在C++11之前,使用cmdObj = NULL将指针设置为空指针值。

不要使用malloc和强制转换,因为不会调用CM的构造函数,也不会正确设置虚拟函数表等内容。

请改用cmObj = new CM(/*ToDo - constructor arguments here*/);。不要忘记在某个地方调用delete cmObj;Ad析构函数是个好地方)。