2011-02-06 77 views
1

它的第一次,我试图将类在一个单独的头文件分开,但我得到的error.Please帮我out.Thanks 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”:没有这样的文件或目录

+1

你的问题有点太长;请在收到太多答案之前缩小它。 – Mehrdad 2011-02-06 08:06:33

回答

5

您应该使用

#include "MyClass.h" 

尖括号是系统头。

也是datadata_

而且它会更好,像

#if !defined(MYCLASS_H_INCLUDED) 
#define MYCLASS_H_INCLUDED 

... 

#endif 

#define -ing相同的类名称的名称将是问题

2

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

这是另一个话题,但面向对象不仅仅是使用一些类。封装类中的静态变量不会使他们失去了全球......至少他们还有另外一个命名空间...

0

使用的#include“Myclass.h”代替的#include