エラー、バグ、質問 - ページ 1677 1...167016711672167316741675167616771678167916801681168216831684...3185 新しいコメント Aleksey Vyazmikin 2016.09.12 11:26 #16761 Sergei Vladimirov: 始値、終値については何も書いていない。 では、私が誤解していたようですね......すみません。 fxsaber 2016.09.12 13:48 #16762 プライベートメソッドでエラーになるのはなぜですか?class CFoo { private: void virtual func(int x) final { } }; class CBar : public CFoo { void func(int) { } }; Sergei Vladimirov 2016.09.12 14:03 #16763 fxsaber:プライベートメソッドでエラーが発生するのはなぜですか?Privateは関係ありません。あなたの関数はfinalとして宣言されており、あなたはそれをオーバーライドしようとしているのです。ZS.コンパイルしてみました - コンパイラが問題点を言っています。 fxsaber 2016.09.12 14:05 #16764 Sergei Vladimirov: Privateは関係ありません、この関数をfinalと宣言します。 そのため、継承したクラスには親のプライベートメソッドは存在しません。だからこそ、オーバーライドはあってはならないのです。 Sergei Vladimirov 2016.09.12 14:05 #16765 fxsaber: そのため、継承されたクラスには親のprivate-methodは存在しない。だからこそ、オーバーライドはあってはならないのです。 さて、こんにちは。 fxsaber 2016.09.12 14:07 #16766 Sergei Vladimirov: こんにちは。 公的な相続コンパイラによると、子孫からは親のprivate-methodsは利用できないそうです。 Sergei Vladimirov 2016.09.12 14:14 #16767 fxsaber: 公的な相続コンパイラによると、親のプライベートメソッドは、子孫からは利用できないそうです。基底クラスのプライベート仮想メソッドは、継承元から呼び出すことはできませんが、オーバーライドすることは可能であり、それを行おうとしているのです。 fxsaber 2016.09.12 14:18 #16768 Sergei Vladimirov:基底クラスの閉じた仮想メソッドは、継承元から呼び出すことはできませんが、オーバーライドすることは可能です。 ありがとうございます、知りませんでした。何かと便利なのですが、思いつきません。X_Macroと 非常によく似ています。理解を深めるために、同じような例をまとめてみることにします。 fxsaber 2016.09.12 14:27 #16769 fxsaber: 似たような例を作って理解を深めようと思います。それはいい感じですね。class BASE { private: void virtual Func() { Print(__FUNCSIG__); } public: void Init() {Func();} }; class CHILD : public BASE { private: virtual void Func() { Print(__FUNCSIG__); } }; void OnStart() { BASE* Base = new CHILD; Base.Init(); delete(Base); }そんな構造が、どこかで役に立つのでしょうね。 TheXpert 2016.09.12 14:35 #16770 fxsaber: を公開継承しています。コンパイラによると、親のprivate-methodsは子孫から利用できないそうです。 これは、finalキーワードの類似品として、さらなる継承を明示的に禁止するために使用することができます。 1...167016711672167316741675167616771678167916801681168216831684...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
始値、終値については何も書いていない。
プライベートメソッドでエラーになるのはなぜですか?
プライベートメソッドでエラーが発生するのはなぜですか?
Privateは関係ありません。あなたの関数はfinalとして宣言されており、あなたはそれをオーバーライドしようとしているのです。
ZS.コンパイルしてみました - コンパイラが問題点を言っています。
Privateは関係ありません、この関数をfinalと宣言します。
そのため、継承されたクラスには親のprivate-methodは存在しない。だからこそ、オーバーライドはあってはならないのです。
こんにちは。
公的な相続コンパイラによると、親のプライベートメソッドは、子孫からは利用できないそうです。
基底クラスのプライベート仮想メソッドは、継承元から呼び出すことはできませんが、オーバーライドすることは可能であり、それを行おうとしているのです。
基底クラスの閉じた仮想メソッドは、継承元から呼び出すことはできませんが、オーバーライドすることは可能です。
似たような例を作って理解を深めようと思います。
それはいい感じですね。
そんな構造が、どこかで役に立つのでしょうね。
を公開継承しています。コンパイラによると、親のprivate-methodsは子孫から利用できないそうです。