C++:成员函数实现在类定义中与在类定义外的区别

2014-11-24 12:25:52 · 作者: · 浏览: 2

现在先看个实验:


a.cpp:


b.cpp:


将它们分别编译后再链接:



显示链接错误,因为b.cpp(b.o)中找不到A::fun(int)的引用。


将以上的a.cpp改为如下所示:



分别编译a.cpp和b.cpp为a.o和b.o后链接,显示链接成功。


这样,第一次链接错误的原因就很明显了。


结论:


在类定义中的类成员函数实现有文件内部作用域,而在类定义外部的类实现有的是全局作用域。