upc_ssogiv
2019-06-04 12:57
采纳率: 100%
浏览 664

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

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • blownewbee 2019-06-04 13:49
    已采纳

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

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

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

    点赞 评论
  • weixin_44654770 2019-06-19 17:10

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

    点赞 评论

相关推荐 更多相似问题