問題タブ [overloading]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
3054 参照

c# - C# でのオーバーロードに相当する typedef

さまざまな意味を持つ多くの整数を持つコードがたくさんあります(一般的な解決策が必要ですが、特定の例では、月の日と月と年など)。これらの意味に基づいて、クラス コンストラクターをオーバーロードできるようにしたいと考えています。

例えば

明らかにそれは機能しませんが、int次のような名前以外のタイプ(エイリアスだけでなく)を定義できれば:

必要なオーバーロードを行い、型システムに何が何であるかを追跡させることができます。特に、これにより、値が混同されていないことを確認できます。たとえば、関数から年として返された値は月の日として使用されません。

classC#でこれを行う方法またはstructラッパーが足りない方法はありますか?


このソリューションが float と double に対しても機能するとよいでしょう。

0 投票する
5 に答える
958 参照

c++ - オーバーロード、文字列、およびデフォルト パラメータ

レガシ コードをリファクタリングすると、次の関数 (疑似コード) に出会いました。

オーバーフローするのを待っているバッファを見てください。そこで、std::string を使用する関数を考え出し、関数のオーバーロードを使用するとよいと考えました。

ここまでは順調ですね。しかし、文字列で関数を呼び出そうとすると:

次のエラーが表示されます。

明らかに、コンパイラ (GCC 4.1.2) は std::string を char* に変換して最初の関数のパラメーター リスト (2 番目のパラメーターを満たすために既定値を使用) を満足させようとしますが、あきらめますが、2 番目のパラメーターは試行しません。関数...

この問題を回避するのに問題はありませんが、これが失敗する理由と、意図したとおりに機能させる方法があるかどうかを知りたいです。

0 投票する
4 に答える
4525 参照

vb.net - VB.NET 連続してテキスト ボックスに 1 を追加する

ボタンとテキストボックスを持つプログラムを作成しようとしています。ボタンが押されるたびに、テキスト ボックスにボタンを追加します。このエラーが発生し続けます:

アクセス可能な 'Int' がこの数の引数を受け入れないため、オーバーロードの解決に失敗しました

また、私は巨大なn00bです。これが私が今のところいるところです、前もって感謝します。

0 投票する
7 に答える
1213 参照

c# - .Net でのメソッドのオーバーロード コスト

.Net でメソッドをオーバーロードすることに関連するコストはありますか?

したがって、次のような3つの方法がある場合:

これらのメソッドは、実行時に Calculate メソッドに渡された内容に基づいて「動的に」呼び出されます。このオーバーロード解決のコストはいくらになるでしょうか?

別の方法として、単一の Calculate を使用してメソッド本体で違いを生むこともできますが、メソッドが呼び出されるたびに型を評価する必要があると思いました。

おそらくオーバーヘッドなしでこれを解決するためのより良い方法/設計はありますか? またはさらに良いことに、このようなケースを処理するためのベストプラクティスは何ですか? 同じクラス/メソッド名を持ちたいのですが、動作は異なります。

編集:ありがとうございました。違いがある場合は、1つだけ。これらのメソッド用の DLL と、ユーザーがこれらのメソッドを (型を指定せずに) UI 項目として追加できるようにする C# で記述されたプログラムがあると思っていました。ユーザーが UI 項目 Calculate (5)、Calculate (12.5) などを追加し、C# アプリがこれを実行すると、オーバーヘッドは発生しませんか?

0 投票する
5 に答える
410 参照

java - JAR複数ダウンロード

このコードはアプレットにあります。アプレットは問題なく動作しますが、不要な重複ダウンロードがたくさんあります。特に、各「getResource」が.JARファイルのダウンロードをトリガーすることに気づきました。

どうすればこれを回避できますか?

0 投票する
1 に答える
5596 参照

ruby - ルビーケースの等式演算子をどのようにオーバーライドしますか?(===)

caseステートメントで文字列とシンボルの両方と比較したいクラスがあるので、クラスの===()メソッドをオーバーライドするだけで、すべてがゴールドになると思いました。ただし、私の===()メソッドはcaseステートメントの実行中に呼び出されることはありません。何か案は?

以下にいくつかのサンプルコードと、irbセッションで何が起こるかを示します。

irb(main):010:0> a = A.new( "hi")
=>#
irb(main):011:0> case a
irb(main):012:1> when "hi" then 1
irb( main):013:1> else 2
irb(main):014:1> end
=> 2

(メッセージを出力することはなく、とにかく常にtrueを返す必要があります)理想的には、

前もって感謝します。

0 投票する
3 に答える
564 参照

c++ - C ++でのオーバーロードに関するポインターの問題?

ポインターは、オーバーロードの解決に関していくつかの特別な問題を引き起こします。

たとえば、

f(0) を呼び出すことの何が問題になっていますか? f(0) の関数呼び出しを修正するにはどうすればよいですか?

0 投票する
3 に答える
3460 参照

c++ - C++ - コンストラクターのオーバーロード - プライベートおよびパブリック

次のコードで次のエラーが発生する理由を教えてください - call of overloaded "C(int)" is ambiguous

C(char x) はプライベートなので、外部からは C(float) ctor のみが表示され、int を float に変換して呼び出す必要があると思います。

しかし、そうではありません。

0 投票する
3 に答える
1730 参照

java - Java 動的バインディング

試験の練習をしていて、完全に道に迷ってしまうサンプル問題を見つけました。次のコードについて、出力が何であるかを見つけます。

私は自分のアイデアを念頭に置いていましたが、Java を実行すると、まったく異なる結果が得られました。

最初のいくつかはOKですが、その後は本当に理解できません。誰でもこの問題について良い説明がありますか?

ありがとう

0 投票する
2 に答える
639 参照

c# - C#にPHPのようなオプションのパラメータはありますか?

PHP オプション パラメータを使用して、パラメータを送信しない場合、デフォルト値が割り当てられます。

C# では、通常、これをC# メソッドのオーバーロードで解決します。たとえば、次のようになります。

PHP の例のように、C# にもオプションのパラメーターを実行するための甘い構文がありますか?