好吧,我用一個struct [在C++]編寫代碼,我不確定是否在頭文件或源文件中實現該結構。我應該在頭文件或源文件中使用構造函數實現結構體嗎?
的結構包括一個構造函數:
struct Point
{
double x;
double y;
Point(double xCo, double yCo)
{
this->x = xCo;
this->y = yCo;
}
int comparePoint(Point point)
{
...
}
};
我在頭文件中寫道:
typedef struct Point point;
是不是不夠好,或者是一個不好的設計? 正如我在一些網站上看到的,通常在頭文件中實現一個結構體,
但是在我之前的任務中,課程的教職員工爲我們提供了一個頭文件,其中包含了對結構的聲明和不是執行。
我在這裏看到類似這個問題的其他問題,但他們沒有真正回答我的問題。
在C++中,typedef是不必要的。這是一個C語言。 – Antimony
這沒什麼大不了的。一個區別是,如果您將實現放在頭文件中,那麼任何函數都必須內聯(它們在上面的示例代碼中默認爲內聯)。 – john