好吧,我用一个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