gpt4 book ai didi

c++ - 在类声明中使用参数启动类

转载 作者:行者123 更新时间:2023-11-28 01:03:38 27 4
gpt4 key购买 nike

在我的对象状态中,我想要对象 pq。但是 pq 需要用参数初始化。有没有办法将依赖于参数的类包含到另一个类中?

文件.h

class Pq
{
int a;
Pq(ClassB b);
};
class State
{
ClassB b2;
Pq pq(b2);
State(ClassB b3);
};

文件.cc

State::State(ClassB b3) : b2(b3) {}

最佳答案

您可以在初始化器列表中初始化它,就像您对b2 所做的那样:

State::State(ClassB b3) : b2(b3), pq(b2) {}

请记住,成员的初始化顺序是它们在头文件中声明的顺序,而不是初始化列表中初始化程序的顺序。

您还需要删除 header 中初始化它的尝试:

class Pq
{
int a;
Pq(ClassB b);
};
class State
{
ClassB b2;
Pq pq;
State(ClassB b3);
};

关于c++ - 在类声明中使用参数启动类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7523924/

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