C++为什么建议使用类外定义?

初学C++,不懂为什么建议使用类外定义的方式,甚至是分文件类外定义?
这样的话声明和定义完全分离,修改的时候得找两个地方,不是更不方便吗?
再者,一个函数没有实现也可以通过编译,为什么不在声明的时候直接实现来避免这种情况呢?
类内定义是有什么弊端呢?

再者,类模板的类外定义时候,必须每一个成员实现都写一个template声明吗?有没有办法一次性声明呢?像类内定义那样直接写在class前头

c++

2个回答

头文件包含更小,方便多人维护,可以分为多个源代码文件

类内定义意味着头文件更大,编译更慢(虽然现在这不算很严重的问题,但是在早期,内存很小的时候,这很麻烦)

模板写在外面,没办法一次性申明。

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复upc_ssogiv: 比较大的类会分开来写
9 个月之前 回复
upc_ssogiv
upc_ssogiv 是吗。。。C++的实际项目中会把一个h对应分多个cpp给多人分别维护吗。。。
9 个月之前 回复

类外定义是一个整体,类内定义是一个局部的属性特点,类外可以申明类内定义相应的成员函数

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问