- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数のクラスで共通した関数を使いたい場合)
複数のクラスで共通したい関数を使う方法は?
このQ&Aのポイント
- クラスの親クラスに共通したいメンバ関数を作る方法と、static宣言した関数を使う方法があります。
- 親クラスに共通したいメンバ関数を作る方法では、複数のクラスを作って継承する必要があります。
- しかし、共通関数継承にはデメリットもあり、static宣言した関数を使う方法も一考する必要があります。
- みんなの回答 (11)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (10)
- wormhole
- ベストアンサー率28% (1626/5665)
回答No.11
- 麻野 なぎ(@AsanoNagi)
- ベストアンサー率45% (763/1670)
回答No.10
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.8
- wormhole
- ベストアンサー率28% (1626/5665)
回答No.7
- 麻野 なぎ(@AsanoNagi)
- ベストアンサー率45% (763/1670)
回答No.6
- chie65536(@chie65535)
- ベストアンサー率44% (8812/19983)
回答No.5
- 麻野 なぎ(@AsanoNagi)
- ベストアンサー率45% (763/1670)
回答No.4
- Wr5
- ベストアンサー率53% (2173/4061)
回答No.3
- hanabutako
- ベストアンサー率54% (492/895)
回答No.2
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
お礼
ありがとうございます。 >は、まったく異なる話。 そうですね…。読み返して改めて書き方がまずかったと思いました。 >「クラスの外でstatic宣言した関数」は、言わば「静的に確保した変数」みたいなモノで、スレッドセーブではないので、論外。お話にならない。 この質問を書いた後に一緒に仕事をしているプログラマさんに聞いたところ、私が記述しているコードは 全て「あるクラスの中」なのだそうです。 inline.inlとmain.cppに分かれていて、inline.inlに関数やクラスを宣言し、main.cppに実体を書いて、実装もしています。 このinline.inlとmain.cppが「あるクラスの中」だと言っていました。 ※No.1~4さんの回答に「インクルードファイル」と書きましたが「inline.inl」というファイルでした。実際のファイル名は「inline」ではなくプロジェクト名に関する名前ですが拡張子はinlです。 間違ってすみませんでした。 >なので、こういう場合は「共通して使いたい関数だけが入ったクラス」を別に作って、Bが仕様変更を要求したら、クラスを継承した新クラスを作って、新クラスの方だけに仕様変更を盛り込む。 そういうことなのですね。よくわかりました。 >「全部一人でコーディングしている」なら、こんな事は気にしないで、好きに書いていれば良いよ。 かなり大規模なプロジェクトで担当しているのですが、自分が触っている部分に関しては私しかコーディングしないです。他のプログラマさんが見ることもほとんどないです。