C++中的頭文件(.h)和源文件(.cpp)都應該寫什么?


頭文件(.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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM