初学C++,不懂为什么建议使用类外定义的方式,甚至是分文件类外定义? 这样的话声明和定义完全分离,修改的时候得找两个地方,不是更不方便吗? 再者,一个函数没有实现也可以通过编译,为什么不在声明的时候直接实现来避免这种情况呢? 类内定义是有什么弊端呢?
再者,类模板的类外定义时候,必须每一个成员实现都写一个template声明吗?有没有办法一次性声明呢?像类内定义那样直接写在class前头
从别的地方得到答案了,定义也写在h里的话会导致多个cpp同时include了这个h的时候出现重复定义的链接错误
类模板成员的类外定义貌似是只能每一个成员都声明一次template
结帖
推荐阅读园子里的一篇博文:一个C#开发者重温C++的心路历程
文章不错,我也是C#老鸟新学C++,可是好像文章没有解答我的疑问啊。。。