クラスをヘッダファイルとソースファイルに分けて書く時、ヘッダ側のメンバ関数に仮引数を書く必要はあるのでしょうか?

参考書などを読むと、両方のファイルに同じように仮引数を宣言してありますが、下記のように型だけ指定しても問題なく実装できてしまいます。

class Tes{
public:
  void Foo(int);
};

また、ヘッダ側の仮引数が実装側の仮引数と異なっても、型さえ同じであればこちらも問題なく実装できます。

これらのことから、仮引数は書かなくてもいいのかなと勝手に思ってるわけなんですが、この方法に何か問題はあるのでしょうか?

A 回答 (1件)

仮引数の型は必要ですが、名前はあっても無くても、関数本体と異なっていてもかまいません。


型が違うと別関数になってしまうので問題があるかもしれません。


ちゃんと意味のある名前で、定義と同じにしておくと
・プロトタイプだけを見て、引数の意味がわかる
・IDEがヒントを表示してくれるかもしれない
・プロトタイプと定義とで同じ意味になっている、ということが確認できる。
というあたりが考えられます。

例)
int hoge(int x,int y) ; // xとyを指定する、ということが、プロトタイプでわかる。
...
// 定義
int hoge(int y,int x) {
//(警告もエラーも出ないけど)プロトタイプと見比べたら逆になっているから
//もしかしたら期待した動作になっていないかも、という予想はできる。
....
}
    • good
    • 0
この回答へのお礼

>>名前はあっても無くても、関数本体と異なっていてもかまいません。
ありがとうございます。おかげでスッキリしました。

>>プロトタイプだけを見て、引数の意味がわかる
確かに可読性を考えると、書いてある方がよさそうですね。
自分でちょろっとプログラムを書くならともかく、規模が大きくなりそうなら仮引数名も書こうと思います。
回答ありがとうございました。

お礼日時:2016/03/21 07:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

今、見られている記事はコレ!

  • 基本情報技術者試験の言語ってどうやって選ぶ?

    SEを目指す場合、基本情報技術者試験を経て実務に就いた人も多いのではないでしょうか。教えて!gooにはSEを目指している質問者からこんな質問が寄せられました。 「基本情報技術者試験のC言語とJavaの違い?」 将...

  • 美人は得?実は損してる?ニコニコニュースユーザーの意見をまとめてみた

    先日、教えて!gooでは「やっぱり美人は得してる!それでも『顔より性格が大事』と言える?」という記事をリリースした。記事では、「女は顔が命だと思うんですが、皆さんの正直な気持ちは?」という問いかけについ...

  • ポケモンGOにハマる子供たち 大人はどう接すればよいのか

    ポケモンGOが上陸直後から大ブームになっている。夏休みということもあり、町に出ればスマホを手にゲームに熱中する子供の姿も頻繁に見掛ける。親子で楽しく散歩しながらポケモンを手に入れる姿はほほえましくもある...

  • 不潔な彼をどうにかしたい!

    最近は男性用化粧品が普及して小綺麗な男子が増えているが、まだまだ身だしなみなどどうでもいい男子がいるようだ。「教えて!goo」 の中に「不潔で男らしくない彼氏と喧嘩し、別れようかとなやんでいます」という投...

  • ゲーム業界ダンナ観察日記:第77話「サンドス」

    ダンナ様のねむねむ。奥様のとぽすけ。ごく普通のふたりは、ごく普通の結婚をし、だらだらと夫婦生活を送っていました。でもただひとつ違っていたのは、ダンナ様はゲーム会社勤務だったのです。

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

このQ&Aを見た人が検索しているワード


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ