私はしばらくの間JavaとC#でプログラミングをしていましたが、私はいつもオブジェクトとクラスを同じものと考えていましたが、私が従うC++のコースは.hファイルとオブジェクト.cppファイル。これは一般的にC++プログラムの構造ですか?クラス/オブジェクトの関係は他のOOPと異なるのですか?C++のオブジェクトクラスの関係は、JavaやC#のように他の言語と異なっていますか?
-3
A
答えて
1
.cpp
ファイルでクラスの宣言が表示されることもあります。たとえば、このファイルを書いた人が、提示されたAPIの一部ではないと思われるヘルプクラスファイル.h
にあります。 また、.h
ファイルに、プライベートメンバーとしてクラス内に保持されているオブジェクトが表示されることがあります。
実際、Javaはかなり厳密なソースとクラスファイルの組織にあなたを「プッシュ」します。多くの場合、あなたのフォルダと一致するでしょう&ファイル構成。 C++では、この点でもっと自由度がありますが、include
というヘッダファイルの概念があります。
1
クラスとオブジェクトの関係は他の言語と変わりありません。オブジェクトはクラスのインスタンスです。
したがって、たとえば:
Car myCar("licence-plate123");
車は、クラスです。 myCarはクラスカーのインスタンス、したがってオブジェクトです。
クラス宣言を分離するためには、規約とよく似ていて、オブジェクトやクラスとは関係ありません。
.hファイルには、クラスの説明が含まれています。そこには、クラスが提供するメソッドと、必要なパラメータが表示されます。 .cpp-Filesは各メソッドの動作を記述します。したがって、実際のソースコードです。
私が既に言ったように:これはもっと慣例に似ています。また、すべてのファイルを.h-Fileに書き込むこともできます。それはきれいではないが動作する
関連する問題
- 1. 関数はC言語のストレージクラスを持っていますか?
- 2. C++のような言語
- 3. C#やJavaなどの言語は、独立したコンパイルのようにC/C++を避けるにはどうすればいいですか?
- 4. 他の言語とのC++ interop
- 5. Swiftでアクションの実行を停止するにはどうすればよいですか? CやJavaのような他の言語で
- 6. C/C++やその他の言語での条件変数の使用パターン
- 7. JavaとC言語の速度の差
- 8. その言語の言語用のコンパイラはどうやって書いていますか?
- 9. "c - = - c - C++;"という結果になるべきものC言語で?
- 10. C言語のstrcat関数
- 11. C言語の関数ポインタ
- 12. Vala(C#のような言語)がCにコンパイルされますか?
- 13. javascriptのような他の言語はありますか?
- 14. `asm()`関数はどのようにC言語で動作しますか?
- 15. golang、CまたはC++のようなプログラミング言語でポインタを持つのは良いことですか?
- 16. .gitignoreファイルに他の.gitignoreファイルを含めることはできますか? (C言語の#includeのように)
- 17. どのようにC言語
- 18. 他の言語はJavaScriptのように緩やかに型付けされていますか?
- 19. さまざまな種類のプロセッサ用にアセンブリ言語がどのように異なっていますか?
- 20. 私は自分の基本的なUNIXシェルをC言語でどうやって実装できますか?
- 21. C言語のオブジェクト関係モデル内の外部キー列
- 22. C#のようなイベントがDプログラミング言語にあります
- 23. fortranが冗長な言語になっているような良いCコンパイラはありますか?
- 24. C言語の文字列の値をどうやって調べることができますか?
- 25. C言語の変数と関数
- 26. C++ではなくC言語のオブジェクトファクトリ
- 27. FPGAをC言語のようにプログラミングできますか?
- 28. Scalaの言語はScalaScriptと何らかの形で関係しています
- 29. 関数は、Cプログラミング言語
- 30. C#で異なる言語や文化の埋め込みリソースをループする
次の宣言を受け入れることによって、 'int a;'、クラスはオブジェクトに 'int'が' a'にあるようにオブジェクトにあります。 –
実際にはありません。 1つのファイルに宣言(インタフェース)を持ち、別のファイルに実装するのは単なる規約です。 [.c vs .cc対.cpp対.hpp対.h対.cxx](http://stackoverflow.com/questions/5171502/c-vs-cc-vs-cpp-vs-hpp-vs-h)を参照してください。 -vs-cxx) –
https://en.wikipedia.org/wiki/Object_(computer_science)https://en.wikipedia.org/wiki/Class_(computer_programming) –