gpt4 book ai didi

c++ - 包括头文件(包括它们自己)

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

假设我有 3 个类(class)。 1 个基类和两个派生类。如果我将这 3 个放在单独的头文件中,我如何正确地包含它们以便它们都能看到彼此?我将发布一些我发现的简单示例代码:

多边形.h

// Base class


class Polygon
{
protected:
int width, height;
public:
void set_values (int a, int b)
{ width=a; height=b;}
};

三角形.h

class Triangle: public Polygon 
{
public:
int area ()
{ return width * height / 2; }
};

矩形.h

class Rectangle: public Polygon 
{
public:
int area ()
{ return width * height; }
};

主.ccp

int main () 
{
Rectangle rect;
Triangle trgl;
rect.set_values (4,5);
trgl.set_values (4,5);
cout << rect.area() << '\n';
cout << trgl.area() << '\n';
cin.get();
return 0;
}

我知道我需要什么我只是不知道如何正确安排它们才能使这项工作干净利落,谢谢!

最佳答案

很明显,您的RectangleTriangle 类需要在它们之前定义Polygon,因此顺序应该是:

#include "Polygon.h"
#include "Rectangle.h"
#include "Triangle.h"

最后两个可以按任何顺序排列,因为它们互不依赖。

编辑:

为了阐明为什么会这样,当您编写 #include "file.h" 时,文件 file.h 的内容只是复制到该位置包含行。所以,现在为了获得正确的顺序,想想在 main.cpp 文件本身中定义所有类时要保持什么顺序,这就是头文件的顺序。

关于c++ - 包括头文件(包括它们自己),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27737344/

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