如何解决相互包含头文件和类成员 C++
我有以下情况:
3 个 C++ 类:
A 类 B级 C类
class A
{
int member;
B bmember;
};
class B
{
int member;
std::shared_ptr <A> amember;
C cmember;
};
class C
{
int member;
std::shared_ptr <A> amember;
};
每个类都实现了使用其他类的公共成员函数的函数。文件结构如下:
class1.cpp,class1.hpp 包含 class2.hpp
class2.cpp、class2.hpp 包括 class3.hpp 和 class1.hpp
class3.cpp,class3.hpp 包含 class1.hpp
在每个头文件中使用 #pragma once
使我免于无限递归循环。我正在构建一个 cmake 项目,将每个类构建到一个库中。他们互相瞄准对方。
然而,因为没有 ClassB 到 ClassA 的前向声明,我收到“未声明的错误”
我需要每个类都有对其他类的引用,并且仍然能够访问它们的功能。我怎样才能做到这一点?如果我也需要,我愿意合并文件,但我想让库模块化,而不是全部在一个文件中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。