簡體   English   中英

包括頭文件(包括它們自己)

[英]Including header files (including themselves)

可以說我有3個班級。 1個基類和兩個派生類。 如果我將這3個文件放在單獨的頭文件中,如何正確地將它們全部包含在內,以便它們彼此看到? 我會發布一些我發現的簡單示例代碼:

Polygon.h

// Base class


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

triangle.h

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

rectangle.h

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

main.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文件本身中定義所有類時將保持什么順序,這就是頭文件的順序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM