C++ API設計-減少類別偶合
由於Scott Meyers 建議,只要在允許的情況下,應該選擇宣告函式為非成員非朋友(non-friend)函式,而不是成員函式,如下
// myobject.h
class MyObject
{
public:
void PrintName() const;
std:string GetName() const;
private:
std::string mName;
}
根據建議你應使用以下方式:
// myobject.h
class MyObject
{
public:
std:string GetName() const;
private:
std::string mName;
}
void PrintName(const MyObject &obj) const;
甚至也可以宣告在不同的命令空間,如下
// myobjecthelper.h
namespace MyObjectHelper
{
void PrintName(const MyObject &obj);
}
標籤: c++, c++ API 設計
