我不确定我是否正确地提出了这个问题,但让我解释一下。
首先,我阅读了这篇解释声明和定义之间区别的文章: http ://www.cprogramming.com/declare_vs_define.html
其次,我从之前的研究中知道,在头文件中定义变量和函数是不好的做法,因为在链接阶段,您可能有多个同名定义,这会引发错误。
但是,为什么上课不会发生这种情况?根据另一个SO答案( 定义和声明之间有什么区别?),以下将是一个类定义:
class MyClass {
private:
public:
};
如果上面的定义在头文件中。然后,据推测,您可以拥有多个 #include 该标头的 .cpp 文件。这意味着该类在多个 .o 文件中编译后多次定义,但似乎不会造成太多问题......
另一方面,如果它是在头文件中定义的函数,它显然会导致问题......据我了解......也许?
那么类定义有什么特别之处呢?