为什么有的类的cpp文件里面写有非这个类得成员函数的实现?该如何处理
为什么有的类的cpp文件里面写有非这个类得成员函数的实现?比如,定义 csdn 类 有 csdn.h 和 csdn.cpp两个文
为什么有的类的cpp文件里面写有非这个类得成员函数的实现?
比如,定义 csdn 类 有 csdn.h 和 csdn.cpp两个文件。
但是在csdn.cpp里面写一个
C/C++ codestatic inline void Ilovecsdn(int Beijing){ Beijing=99;}
而这个函数又不是csdn类得成员函数。那这样写是为什么?有神马作用?
求解惑
Thanks.
[解决办法]逻辑上不属于任何一个类,当然写在类的外面,比 C# 那种非要加个类的包装自然多了。
加 static 则只在本模块有效,inline 并不影响逻辑。
有时操作符重载因参数顺序,被迫以友员形式定义在外。
[解决办法]有的时候一个小函数
理论上不属于一个类
但是这个类又想用到它
又不想这个类被外部调用 或者与外部的一些函数重名
因为是static 这在该编译单元内有效
就可以这么写了
一般这种情况把这个函数写成该类的私有函数也可以