改善程序与设计的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的主要内容,如果未能解决你的问题,请参考以下文章

改善程序与设计的55个具体做法 day3

改善程序与设计的55个具体做法 day4

改善程序与设计的55个具体做法 day7

改善程序与设计的55个具体做法 day8

改善程序与设计的55个具体做法 day2

改善程序与设计的55个具体做法 day6