1)c ++でのバイナリカプセル化とは何ですか?c ++はバイナリカプセル化をサポートしていますか?
私はいくつかの検索を行いましたが、私が見つけたのはカプセル化だけでした。これは大まかに言って、クラス内のデータとメソッドのラップに他なりません。
2)では、カプセル化とバイナリカプセル化の違いは何ですか?
1)c ++でのバイナリカプセル化とは何ですか?c ++はバイナリカプセル化をサポートしていますか?
私はいくつかの検索を行いましたが、私が見つけたのはカプセル化だけでした。これは大まかに言って、クラス内のデータとメソッドのラップに他なりません。
2)では、カプセル化とバイナリカプセル化の違いは何ですか?
このテキストからの引用は物事を明確にするはずです:
C ++はプライベートキーワードと保護されたキーワードを介して構文カプセル化をサポートしますが、C++ドラフト標準にはバイナリカプセル化の概念がありません。これは、C ++のコンパイルモデルでは、クラスのインスタンスをインスタンス化するため、または非仮想メソッド呼び出しを行うために、クライアントのコンパイラがオブジェクトレイアウトに関するすべての情報にアクセスできる必要があるためです。これには、オブジェクトのプライベートデータメンバーと保護されたデータメンバーのサイズと順序に関する情報が含まれます。
明確にするために:構文カプセル化は、言語構文を使用してカプセル化する場合です。C ++では、これはプライベート/保護されたキーワードになります。
このスレッドで、概念についても簡単に説明されているテキストを見つけました。
編集:
以下で指摘するように、C++にはバイナリカプセル化が存在する可能性があります。詳細については、不透明ポインターに関するこのwikiページを参照してください。