2016-05-09 1 views
1

キーワードstructを使用してOOPSのすべての概念を実装できますか? hereからの回答がYESです! しかし、私はどのように理解できないのですか? お知らせください!キーワードstructを使用してOOPSのすべての概念を実装できますか?

+4

struct **は**いくつかの調整があるクラスです。もっと詳しくはこちら:http://stackoverflow.com/questions/92859/what-are-the-differences-between-struct-and-class-in-c – user4581301

+1

あなたは 'class'で実装できるが、構造体? –

+0

実際に私の息子は、大学のCSの彼の最初のコース中に純粋なCで完全なOOPシステムを実装しました:-) – user3159253

答えて

3

structはクラスであり、構造体にはデフォルトですべての属性/メソッドのみがpublicになっています。あなたは構造体にメソッドと属性を持つことができます。 structから継承することもできます(デフォルトの継承はpublicです)。

だから、基本的には、構造体を使ってOOPを構築することができます。

0

C struct no! OOの重要な概念は多型です。

OOを実装する言語を考えてみるには、メッセージや関数呼び出しのランタイム・ディスパッチが必要です。 C++では、これはvirtualキーワードを使用して実装されています。

これは、構造体とC++のクラスがメンバーのデフォルトの可視性によってのみ異なるため、これはうまくいくかもしれません。

+0

構造体は、関数ポインタのセットを運ぶことができます。派生クラスは、単にそれらのメソッドを乗り越える。多態性は構造体へのポインタで実装できます。 – EvilTeach

+1

@EvilTeachこれは愚かな議論です。どの言語も 'member(this、object_functions、arguments) 'を呼び出すことができます。OO言語は言語プリミティブから来ます。 CでのOOとASMやbrainfuckを書くことができます。 –

関連する問題