![見出し画像](https://assets.st-note.com/production/uploads/images/36741656/rectangle_large_type_2_ec7b5d421aaee2cc6de28e38b5638335.png?width=1200)
コラム1001 ラッピング
ラッピングとは、クラスや関数をくるんで、別の形で提供することです。
下記の最初の関数は一年の日数を返す関数です。引数でうるう年かどうかのフラグを受け、うるう年であれば366を、そうでなければ365を返します。うるう年であるかどうかは気にしないので、とにかく365を返してほしい、という要望に対して最初の関数をラッピングしたのが次の関数です。ラッパーともいいます。
int daysOfYear(bool leap_year)
{
if (true == leap_year) return(366);
return(365);
}
int daysOfYear(void)
{
return(daysOfYear(false));
}
この例は簡単すぎてピンとこないかもしれませんが、ラッピングは整理整頓されたプログラミングのためにとても重要です。C++では、引数の種類が違っていれば、同じ関数名を使うことができます。つまり、ほぼ同じ機能の関数を同じ名前で記述できるわけです。これはとても重要で、同じ機能でもぜんぜん別の名前をつけていると、後で「同じもの」だとはなかなかわかりません。また、たくさんの引数で、細かく指定できるような関数を作ったとしても、大半の引数は規定値(デフォルト)で済むような場合、やはり引数を減らした関数を作っておけば、あとあと楽になります。ラッピングとは、その名の通り、余計なものを隠して包み込む、という意味です。
この記事が気に入ったらサポートをしてみませんか?