Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 接口与实现分离中的问题_C++_Visual Studio 2008 - Fatal编程技术网

C++ 接口与实现分离中的问题

C++ 接口与实现分离中的问题,c++,visual-studio-2008,C++,Visual Studio 2008,这是我第一次尝试在一个单独的头文件中分离类,但是我得到了一个错误。请帮助我。谢谢 代码: 我的主要职能是: #include <iostream> #include <MyClass> int MyClass::data; int main() { cout<<"data="<<MyClass::data; system("pause"); return 0; } MyClass.h

这是我第一次尝试在一个单独的头文件中分离类,但是我得到了一个错误。请帮助我。谢谢 代码:

我的主要职能是:

#include <iostream>
#include <MyClass>
int MyClass::data;
int main()
{
    cout<<"data="<<MyClass::data;
    system("pause");
    return 0;
}
MyClass.h

错误:致命错误C1083:无法打开包含文件:“MyClass.h”:没有您应该使用的此类文件或目录

#include "MyClass.h"
尖括号用于系统标题

也是数据还是数据

而且最好是像这样的

#if !defined(MYCLASS_H_INCLUDED)
#define MYCLASS_H_INCLUDED

...

#endif
定义与类名相同的名称将是问题的根源

您应该使用

#include "MyClass.h"
尖括号用于系统标题

也是数据还是数据

而且最好是像这样的

#if !defined(MYCLASS_H_INCLUDED)
#define MYCLASS_H_INCLUDED

...

#endif

定义与类名相同的名称将成为问题的根源

< P> > C++中定义和实现的第一个好主意。您的include指令应使用而不是,因为您的标题不是系统标题。或者您的头与cpp文件不在同一目录中


这是另一个主题,但OO不仅仅是使用一些类。在类中封装静态变量并不会降低它们的全局性。。。至少他们有另一个命名空间…

第一个好的概念,在C++中定义和实现。您的include指令应使用而不是,因为您的标题不是系统标题。或者您的头与cpp文件不在同一目录中


这是另一个主题,但OO不仅仅是使用一些类。在类中封装静态变量并不会降低它们的全局性。。。至少他们有另一个名称空间…

使用include Myclass.h而不是include

使用include Myclass.h而不是include

你的问题有点太长了;在你得到太多答案之前,请缩小它。@Mehrdad:你说这个问题有点太长是什么意思?最后,有人将源代码和编译器错误包括在内。我已经厌倦了为他们发表评论,而你却要求人们缩短他们的问题?@Cody:你看到问题的未编辑版本了吗?@Mehrdad:我认为未编辑版本也不错。只是没有我在代码前加上的那行。我想我的标题和标题都写上了。@Mehrdad:是的;我批准了编辑。它有大约5条额外的线路。显然,他们只是复制并粘贴了输出窗口的内容。从我的角度来看,这远远优于其他选择。我习惯于解析输出窗口的内容。我可以忽略额外的信息;我无法推断错误消息不存在时会说些什么;在你得到太多答案之前,请缩小它。@Mehrdad:你说这个问题有点太长是什么意思?最后,有人将源代码和编译器错误包括在内。我已经厌倦了为他们发表评论,而你却要求人们缩短他们的问题?@Cody:你看到问题的未编辑版本了吗?@Mehrdad:我认为未编辑版本也不错。只是没有我在代码前加上的那行。我想我的标题和标题都写上了。@Mehrdad:是的;我批准了编辑。它有大约5条额外的线路。显然,他们只是复制并粘贴了输出窗口的内容。从我的角度来看,这远远优于其他选择。我习惯于解析输出窗口的内容。我可以忽略额外的信息;我无法推断错误消息不存在时会显示什么。