改善程序与设计的55个具体做法 day9
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了改善程序与设计的55个具体做法 day9相关的知识,希望对你有一定的参考价值。
条款23:宁以non-member、non-friend替换member函数
即 以非成员函数 非友元函数 替换成员函数。
直观上,面向对象应该尽可能的封装,封装数据、封装操作等等,所以这个条款可能有悖常理。
比如一个类成员函数CObj::Func(){ Dosomething(); }
该函数会调用其他成员函数做一点微小的工作,想一下把成员函数换成普通函数Func2(const CObj& obj);
Func2(const CObj& obj)
{
obj.Dosomething();
}
看,非成员、非有缘函数也可以做到,而且【非成员 非友元函数 不会访问到类的其他成员, 这样会更少的机会犯错】。
然而,该【非成员 非友元函数 仍然可以是其他类的成员函数或友元函数】
当程序组织的形式上,可以把该 函数 和 该类 放在同一个命名空间下。
系甘啦。
以上是关于改善程序与设计的55个具体做法 day9的主要内容,如果未能解决你的问题,请参考以下文章