gpt4 book ai didi

c++ - 为存储库构造函数分配内存 C++

转载 作者:行者123 更新时间:2023-11-30 04:19:40 24 4
gpt4 key购买 nike

如何在 C++ 中为存储库分配内存?

这是存储库类:

class Repository{

private:
DynamicVector<Medicine> MedList;
};

当我在 C 中使用结构时,initRepository 函数(构造函数)看起来像这样:

Repository* initRepository()
{
Repository* repo =(Repository*)malloc(sizeof(Repository));
repo->MedList=createVector();
return repo;
}

但是我现在想把C版改成C++版。我该怎么做?

最佳答案

您根本不需要做任何特别的事情。只需创建一个 Repository 对象:

Repository repo;

这将为 Repository 调用隐式定义的默认(如默认行为)默认(如不带参数)构造函数,这也将构造成员 MedList。获得 Repository 对象后,您可以用它做任何想做的事。

如果你想用createVector函数的结果初始化成员MedList,你可以像这样定义你自己的默认构造函数:

class Repository {
public:
Repository()
: MedList(createVector())
{ }
private:
DynamicVector<Medicine> MedList;
};

这使用成员初始化列表(: 之后的所有内容)来初始化 MedList

关于c++ - 为存储库构造函数分配内存 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15720645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com