2018-02-27

anond:20180227140857

friend関数とpublicなstatic関数

static関数は、foo::func() とクラス指定を付けなければならないだけで機能friend関数と同じ。

でもstatic関数不要論は言われないのに、friendはいらない子といわれる。

かわいそう。

記事への反応 -
  • 多重継承 多重継承がなくてもどんなに複雑なプログラムでも記述できる。 Javaやphpはインターフェイス、RubyはMix-inがある。 演算子オーバーロード + や - などの演算子に別の動作を与え...

    • friend関数とpublicなstatic関数。 static関数は、foo::func() とクラス指定を付けなければならないだけで機能はfriend関数と同じ。 でもstatic関数不要論は言われないのに、friendはいらない子といわ...

    • どういうふうに動作が変わるの?

    • 互換性のために過去の機能を切りづらいのと 歴史的に熟考がまだ足りていなかった頃に設計されてしまったのと それら積み重ねで罠の多い言語になってしまったけど、 どこかで、モダ...

    • 多重継承も演算子オーバーロードもフレンド関数も、それが便利で効率的だから考案されたのでしょ? 多重継承ができれば、少ないコード数でプログラムが作れるとか、 演算子オーバ...

    • 演算子の多重定義のないJava BigDecimal result = new BigDecimal("100000").multiply(new BigDecimal("99999.55")).add(new BigDecimal("3333333333")); 多重定義のあるC++ BigDecimal result = BigDecimal("100000") * "99999.55" / "3333333333";

      • Javaの方が分かりやすい!

        • プログラムは文書的に書いたほうがわかりやすいと思う人がいて、昔から試されてきたけどはやらないね。COBOLとか。 A)面積=幅×高さ÷2 B)幅と高さを掛けて2で割ったものを面積とす...

    • friend関数(protected関数)は普通に使うやろ… 抽象クラス書いたことあらへんのかいな。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん