2011-02-06 120 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