小编Col*_*man的帖子

为什么我们包含头文件而不是源文件?

我已经看到有人问过类似的问题,但它们对我的猿类大脑仍然没有意义。

这是一个例子。如果我在名为Bob.h:的头文件中声明了一个函数void PrintSomething();,在该.cpp文件中我说:void MyClass::PrintSomething(){std::cout << "Hello";}. .cpp例如Frank.cpp,我在另一个文件中看到人们,只包含Bob.h只有声明的标题(其中没有代码),而不.cpp包含代码,但是当他们调用其中的PrintSomething()函数Frank.cpp使用代码时,让我大吃一惊的是Bob.cpp并打印“你好”。如何?.cpp当我只包含一个.h没有说明“Hello”的文件时,它如何打印添加到文件中的“Hello”,它只是一个声明?我也查看了编译过程和链接过程,但它只是不坚持。

最重要的是,如果我现在在我的Frank.cpp文件中说:void MyClass::PrintSomething(){std::cout << "Bye";}并将文件包含Bob.h在我的文件中main.cpp并调用该PrintSomething()函数,它会打印“Hello”还是“Bye”?是电脑通灵还是什么?这个概念是我在 C++ 学习之旅中没有掌握的一件事。

提前致谢。

c++ visual-studio-code

3
推荐指数
1
解决办法
71
查看次数

标签 统计

c++ ×1

visual-studio-code ×1