gpt4 book ai didi

c++ - 重载 operator= 在类之间交换数据

转载 作者:行者123 更新时间:2023-11-30 00:57:40 26 4
gpt4 key购买 nike

我想使用两个类 AB 来完成一些不同类型的任务。但是我想交换一些数据,两者应该相似,所以我想用 A = B 作为例子。

那么,如何使用它,避免双向包含在头文件中?

例子:在 class_a.h 中:

#include class_b.h
class A {
private:
int i;
public:
A& operator=(B& const b);
}

class_b.h:

#include class_a.h // won't work here ...
class B {
private:
unsigned long n;
public:
B& operator=(A& const a);
}

最佳答案

您必须转发声明另一个类:

class B;
class A {
private:
int i;
public:
A& operator=(B& const b);
}

另请注意,如果您没有 getter 并且需要访问 B::,您可能应该在 A 的定义中声明 friend class B;: n.

关于c++ - 重载 operator= 在类之间交换数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7582601/

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