カプセル化の概念については疑問があります。構造体とのカプセル化
C言語でも 'struct
'データ型によるカプセル化は行われませんか?
構造体に存在するデータ変数と関数は、struct変数によってのみ呼び出すことができます。システム内の他の変数はありません。データが隠れていませんか?
私はこの概念をC++のカプセル化を理解するために関連づけようとしています。
カプセル化の概念については疑問があります。構造体とのカプセル化
C言語でも 'struct
'データ型によるカプセル化は行われませんか?
構造体に存在するデータ変数と関数は、struct変数によってのみ呼び出すことができます。システム内の他の変数はありません。データが隠れていませんか?
私はこの概念をC++のカプセル化を理解するために関連づけようとしています。
本当に唯一のあなたは、より詳細な説明については、この記事を見ることができますCの構造体の「部分的な隠れが」存在がある:
Is there any workaround for making a structure member somehow 'private' in C?
しかし、C++でのカプセル化は比較的類似しています。クライアントコードからすべてのデータメンバーを完全に非表示にすることはできません(たとえそれらがprivate
セクションにあっても)。カプセル化の一見「違反」ですが、これは言語の性質です。
あなたの質問は少し不明です。あなたはそれを改善していただけますか? – cnicutar
Cでは、 "関数が構造体に存在する"ことはできません。私はあなたのコンパイラが誤って構成されていると思うし、C + +をコンパイルしています。 – pmg
私はC言語で何年もプログラムしていませんが、構造体へのポインタを持つオブジェクトから構造体変数を参照できることを覚えておいてください。 – Sergio