頭文件(.h):寫定義和聲明
寫類的聲明(包括類里面的成員和方法的聲明)、函數原型、#define常數等,但是一般來說不寫具體的實現。
注意:
1、在寫頭文件的時候需要注意,在開頭和結尾處必須按照如下樣式加上預編譯語句(如下):
#ifndef PERSON_H
#define PERSON_H
//中間寫你的代碼
#endif
這樣做是為了防止重復編譯,不這樣做就有可能會出錯。
至於PERSON_H這個名字可以隨便取,只要符合規范就行,但是建議把它寫成與源文件的名字對應。
源文件(.cpp):寫實現
源文件主要寫實現頭文件中已經聲明的那些函數的具體代碼。需要注意的是,開頭必須#include一下實現的頭文件,以及你需要用到的頭文件。那么當你需要用到自己寫的頭文件中類時,只需要#include進來就行了。
注意:
1、在.h文件中定義了類的屬性,在.cpp文件中就不要重復定義,否則鏈接的時候會報錯
2、很多人都是先學的C,所以在包含頭文件的時候喜歡用<>,例如#include <iostream>,但是在包含自己寫的頭文件的時候一定要用"",否則可能會報錯:No such file or directory
下面舉一個簡單的例子:
第一步,建立一個空工程(以在Visual C++ 6.0)環境下為例
點擊菜單欄的file - > 選擇new(新建) -> 選擇project(工程)目錄下的Win32 Console Application選項 -> 在右側輸入工程名和存儲的位置,下一步 -> 選擇“一個 空工 程”,點擊完成
第二步,新建頭文件Person.h,它的內容如下:
1 #ifndef PERSON_H 2 #define PERSON_H 3 class Person 4 { 5 public: 6 int age; 7 char* name; 8 char* sex; 9 public: 10 Person(); //構造函數 11 void say(); 12 }; 13 #endif
第三步,要給出Person類的具體實現,因此,新建源文件Person.cpp,它的內容如下:
1 #include <iostream> 2 #include "Person.h" 3 4 using namespace std; 5 6 Person::Person() 7 { 8 cout << "創建了一個新的對象!" << endl; 9 } 10 11 void Person::say() 12 { 13 cout << "大家好,我叫" << name << ",性別" << sex << ",今年" << age << "歲." << endl; 14 }
注意:此處需要將頭文件Person.h包含進來。
最后我們新建一個test.cpp來測試我們寫的Person類:
1 #include <iostream> 2 #include "Person.h" 3 4 using namespace std; 5 6 int main() 7 { 8 Person xc; 9 10 xc.age = 18; 11 xc.name = "流浪"; 12 xc.sex = "男"; 13 14 xc.say(); 15 return 0; 16 }
注意到開頭時有#include "Person.h"的聲明,證明我們使用到了我們剛寫的Person類。
運行后的輸出結果為:
這是最簡單的用法,有錯誤之處請大家指正!
參考博客:https://www.cnblogs.com/fenghuan/p/4794514.html