問題タブ [protected]

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 投票する
6 に答える
12086 参照

c++ - C++ で保護されたメソッドを単体テストするにはどうすればよいですか?

C++ で保護されたメソッドを単体テストするにはどうすればよいですか?

Java では、テスト対象のクラスと同じパッケージにテスト クラスを作成するか、テスト クラスで必要なメソッドを公開する匿名サブクラスを作成しますが、C++ ではこれらのメソッドのいずれも使用できません。

NUnit を使用してアンマネージ C++ クラスをテストしています。

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

php - PHPの配列の一部を変更から保護するにはどうすればよいですか?

私は次のようなphpの配列を持っています:

$ myArray = array('name' =>'juank'、'age' => 26、'config' => array('usertype' =>'admin'、'etc' =>'bla bla'));

「config」フィールドを除くすべてのフィールドで変更を許可するには、この配列がスクリプトに沿ってアクセス可能である必要があります。配列または配列の一部が、クラス内でプライベートとして宣言されているかのように変更されないように保護する方法はありますか?定数として定義しようとしましたが、スクリプトの実行中に値が変化します。クラスとして実装すると、アプリケーション全体を最初から再構築する必要があります:S

ありがとう!

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

iphone - AVAudioPlayer を使用して MP4 を再生するには?

AVAudioPlayeriTunesジェネレーターからMP4ファイルを再生するために使用したい。私はそれを使用UIWebViewして再生できましたが、「QuickTime」ロゴの代わりに、プレーヤーの背景に選択した画像を配置したいと考えています。

AVAudioPlayerで再生したい m4p ファイルの例を次に示します。

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

c++ - クラスのサブクラス化を禁止する方法はありますか?

「Base」というクラスと、Base のサブクラスで保護されたメソッドと Base のメンバーにアクセスする「Derived」というクラスがあるとします。

私が今やりたいことは、他のクラスが Derived をサブクラス化できないようにすることです。Java では、Derived クラスを「final」と宣言することでそれを実現できます。同じ効果が得られる C++ のトリックはありますか?

(理想的には、Derived 以外のクラスが Base をサブクラス化できないようにしたいと考えています。Base と Derived は両方ともテンプレート化されているため、すべてのコードを同じクラスに入れたり、friend キーワードを使用したりすることはできません。 Derived よりもテンプレート引数が少ないベース....)

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

c++ - 親クラスの保護されたデータは子クラスでは利用できませんか?

私は混乱しています。保護されたデータは、C++の特定のクラスの子によって読み取り/書き込み可能だと思いました。

以下のスニペットはMSコンパイラでコンパイルできません

エラーメッセージ:

私は何が間違っているのですか?

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

java - Java:アクセス修飾子は「protected」よりも制限が厳しく、「private」よりも制限が少ないですか?

protectedフィールドを実装するクラスprotectedとそれをサブクラス化するものだけがアクセスできる、に似たものが必要です。

したがって、基本クラスの変数をとして宣言できるようにしたいのですがprivate、それでもサブクラスから変数にアクセスできるようにしたいのです。

おそらく、これはサブクラス化、、、privateおよび/またはの性質そのものに反しprotectedます。

このようなものはJavaに存在しますか?

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

c++ - 保護されたメンバーでのC++ランタイムエラー

リンクされたスタック、つまりstructとtypedefを使用して、指定されたポイントで文字列を文字列に挿入する宿題をしようとしています。とにかく、InsertAfterメソッド内のStringModifierクラスのstringLengthにアクセスしようとすると、実行時エラーが発生し、問題が何であるかを理解できません。変数は保護されており、派生クラスはパブリックに継承されているため、変数にアクセスして変更できるはずです。

メインで

StringModifierクラスには、空のコンストラクタとデストラクタがあります。

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

java - クラスを拡張したのに、保護されたJavaメソッドにアクセスできないのはなぜですか?

保護されたメソッドのドキュメントは次のとおりです。

そして、scoreToSeqメソッドが由来するクラスを拡張するためにこの小さなクラスを作成しました。

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

c++ - 派生クラス内のクラスの保護されたメンバーにアクセスする

ここに古いコードベースがあり、保護されたメンバー変数を使用していました。これが良いアイデアであるかどうかは、議論することができます。ただし、コードは gcc3 で正常にコンパイルされている必要があります。クラステンプレート Foo から保護されたメンバー x を使用する派生テンプレートクラス Bar があります

また、cleanup() のメソッド宣言では、x で何かが行われています。

これは、gcc3 では機能するはずでしたが、gcc4 では機能しません。に変更すると動作します

なぜそうなのですか?

0 投票する
8 に答える
9430 参照

c++ - C++のテストコードから保護されたメンバー関数にアクセスする

私はC++のテストコードから保護されたメンバー関数にアクセスするための最良の方法を考えようと頭を悩ませてきました。これが私の問題です。

これまでのいくつかの可能な解決策:

  • テストコードクラスをFooの友達にしますが、これはFooをテストコードで汚染します
  • DoSomethingをパブリック関数にする
  • この投稿で提案されているように、Fooのテストラッパーを作成することを検討しましたが、BlahにはFooのインスタンスが含まれているため、これは機能しません。

    すべてのアドバイス/洞察/意見は大歓迎です!

    ありがとう