0

我是 C++ 新手,我想用 eclips 编写我的程序,但它不知道 cout 和 cin 但是我添加了 include 这是我的代码:

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


 };

#endif /* READY_H_ */
4

3 回答 3

5

将包含和main移出类并符合cout条件std::

#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标准库中定义的所有其他符号放入名为 的命名空间std中,因此您需要编写std::cout或放入“使用命名空间 std;” 在你的类定义之前,但之后#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 回答