gpt4 book ai didi

c++ - 将自己的类的实例传递给另一个

转载 作者:太空狗 更新时间:2023-10-29 20:51:26 25 4
gpt4 key购买 nike

假设我有这些类(问号标记我需要在这里传递的问题):

class A
{
...
public:
void pass()
{
B ins;
ins.doSth(?????);
}
};

class B
{
...
public:
void doSth(const A &sth)
{
...
}
}

int main()
{
A te;
te.pass();
}

你能传递一个你自己的类的实例吗?或者这只是我这边失败的类结构的一个例子?

最佳答案

成员函数中的当前对象是*this。您可以将其传递给另一个函数。

必须考虑这些类如何相互依赖,并且一个类在声明完成之前不能使用另一个类。

虽然这会起作用:

class A
{
//...
public:
void pass();
};

class B
{
//...
public:
void doSth(const A &sth)
{
//...
}
};


// Here both classes are completely declared

void A::pass()
{
B ins;
ins.doSth(*this);
}


int main()
{
A te;
te.pass();
}

关于c++ - 将自己的类的实例传递给另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50092438/

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