分离界面的问题及实现

时间:2011-02-06 08:02:37

标签: c++ visual-studio-2008

这是我第一次尝试在单独的头文件中分离类但我收到错误。请帮帮我。谢谢 的 CODE:

我的主要职能:

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

MyClass.h

#ifndef MyClass
#define <MyClass>
class MyClass
{
    static int data_;

};
#endif

错误:致命错误C1083:无法打开包含文件:'MyClass.h':没有此类文件或目录

3 个答案:

答案 0 :(得分:5)

你应该使用

#include "MyClass.h"

尖括号用于系统标题。

也是datadata_

还有更好的东西,比如

#if !defined(MYCLASS_H_INCLUDED)
#define MYCLASS_H_INCLUDED

...

#endif

#define - 与类名相同的名称将成为问题的根源

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

使用#include“Myclass.h”而不是#include