0

私はc ++が初めてで、eclipsでプログラムを書きたいのですが、coutとcinを知りませんが、インクルードを追加しますこれは私のコードです:

class READY {
public:
READY();
virtual ~READY();
#include <iostream.h>
int main (){
cout<<"hello";
 }


 };

#endif /* READY_H_ */
4

3 に答える 3

5

インクルードをクラスの外に移動し、次のようにmain修飾coutstd::ます。

#include <iostream>

class READY {
public:
  READY();
  virtual ~READY();
};


int main (){
  std::cout<<"hello";
}

C++ は Java ではmainなく、クラス メンバーとしてではなく、グローバル スコープに存在します。

また、<iostream>ではなく<iostream.h>です。

あなたが従うチュートリアルや本が何であれ、それは何の役にも立ちません。

于 2012-07-29T01:01:38.353 に答える
2

#includeそれをファイルの先頭に置く必要があります。クラスの途中でヘッダーをインクルードすると、奇妙で​​奇妙なことが起こります! 少なくとも、ヘッダー内のすべての名前がクラスに埋め込まれます。ほとんどの場合、単にコンパイルに失敗します。

さらに、最新の C++ はcout、標準ライブラリで定義されている基本的に他のすべてのシンボルを という名前の名前空間に配置するため、「using namespace std;」stdと記述するか、配置する必要があります。std::coutクラス定義の前ですが、#include.

于 2012-07-29T01:02:02.463 に答える
1

コードにはいくつかの問題があります。

  • #include ステートメントは、クラス宣言の外にある必要があります。ファイル全体で #includes を検索するのではなく、ファイルの先頭に注目することで、コード内の依存関係を簡単に確認できるため、それらをファイルの先頭に配置し、ファイル全体に分散させないことをお勧めします。
  • main() 関数もクラス外で宣言および定義する必要があります。Jave とは対照的に、C および C++ の main() はスタンドアロン関数です。
  • 前述のとおり、cin と cout は std 名前空間に存在します。完全修飾名 (std::cin および std::cout など) でそれらを参照することをお勧めしますが、関数内またはすべてのインクルードusing std::cin;に実装ファイル内でandを使用できます。using std::cout;
  • iostream.h をインクルードしています。これは、古い iostreams ライブラリ用の「間違った」ファイルです。標準準拠の iostream の正しいインクルードは次のとおりです。<iostream>
于 2012-07-29T01:07:50.370 に答える