复杂函数的构造和析构

[复制链接]
查看11 | 回复1 | 2011-6-24 15:35:20 | 显示全部楼层 |阅读模式
inline不inline,并不会影响构造函数的默认语义,不会因为不是inline的,就不执行基类的构造。并且分析在外的构造函数,仍然可能是inline的。如果构造函数过于复杂,那么就是写在类定义内,仍然是不会被inline的。我认为原因是这样的:C++提倡实现与接口相分离,声明中,只给出需要的参数,甚至只是参数类型,而没有参数名。如果你写在声明中,不是要给出函数体,那样实现代码大家都能看到了,也许直接去改写你的.h,然后再重新编译,以达到对private成员的直接控制,这样不利于封装。C++的设计,使得一般的具体编译器实现都能做到,把声明放在.h中,实现放在.cpp中,编译生成.obj,把.cpp文件删除掉(或者就是不发放给使用的用户),使用者只...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行