些細なゲッターとセッターをスキップすることもできますが、多くの場合、これらのメソッドは自明ではありません(一般的なケースは「遅延読み込み」パターンです)。
追加のために編集:遅延読み込みとは、データが要求されたときにのみメンバーをインスタンス化する場合です。これは、データの取得が必ずしも必要ではなく、取得に費用がかかる場合に使用されます。
class a
{
private:
int m_aNumber;
bigDeal *m_pBig;
public:
a() { m_aNumber = 0; m_pBig = NULL; }
~a() { if (m_pBig) delete m_pBig; }
// trivial
int get_aNumber() { return m_aNumber;}
void set_aNumber(int val) { m_aNumber = val; }
// lazy load
bigDeal *get_Big()
{
if (m_pBig == NULL)
{
// bigDeal::bigDeal() downloads data from Mars Rover
// takes 20 minutes, costs $1.2 million dollars to run
m_pBig = new(bigDeal);
}
return m_pBig;
}
void set_Big(bigDeal *val)
{
m_pBig = val;
}
}