gpt4 book ai didi

c++ - 这些类的某些文件应该在哪里#include?

转载 作者:行者123 更新时间:2023-11-28 07:36:59 25 4
gpt4 key购买 nike

我正在制作 Radian 类(class)和 Degree 类(class)。每个类都有一个构造函数,该构造函数将其他类型的对象作为参数,进行度数/弧度转换,并使用结果初始化度数或弧度参数,如下所示。

Class Radian
{
private:
double radians;
public:
// ......
Radian(Degree d) {
radians = d.getDegrees() * (pi / 180);
}
// ...

学位类是一样的,但相反。因此,为了确保没有某种链接错误,每个 header 都应该#include 另一个吗?他们各自的.cpp 怎么样?我需要前向类声明吗?

最佳答案

你需要做三(也许四)件事:

  • 使用包含防护 - #ifndef RADIAN_H...
  • 使用前向声明,即 class Degree;
  • 将构造函数主体从头文件中移出并放入 .cpp 文件中。这是因为类的前向声明不允许您引用像 getDegrees()
  • 这样的成员
  • 理想情况下,让构造函数采用const & 参数。

关于c++ - 这些类的某些文件应该在哪里#include?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16612500/

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