資料共享與保護 多檔案結構樣例

2021-07-31 03:18:05 字數 1267 閱讀 8444

//多檔案結構, 三部分

//標頭檔案 預編譯

實現客戶機(client)類:

·宣告字元型靜態資料成員servername,儲存其伺服器名稱

·整型靜態資料成員clientnum,記錄已定義的客戶數量

·定義靜態函式changservername()改變伺服器名稱.

在標頭檔案client.h中宣告

類,在檔案client.cpp中實現,

在檔案test.cpp中測試這個類,

觀察相應的成員變數取值的變化情況.

宣告部分

//根據要求標頭檔案只給出類的宣告即可,也沒有主函式

#include "stdafx.h"

#include

using namespace std;

#ifndef client_h_

//↑十分重要:為了避免重複包含標頭檔案,常用這種形式編譯預處理

#define client_h_

//建構函式呢?

//可能是只是宣告的緣故吧

class client ;

#endif // !client_h_,配合"ifndef"進行預處理

實現部分

#include "stdafx.h"

//包含定義

#include "client.h"

//都是靜態資料成員,引用時注意"類名::"來修飾

void client::changeservename(char name)

int client::getclientnum()

//一些其他的注意事項:

//靜態資料成員必須在類外初始化.

//一般形式:資料型別類名::靜態資料成員名=初值

//不要試圖在標頭檔案中定義(初始化)靜態資料成員。在大多數的情況下,這樣做會引起重複定義這樣的錯誤。即使加上#ifndef #define #endif或者#pragma once也不行。

測試部分

#include "stdafx.h"

#include

#include "client.h"

using namespace std;

//單獨初始化!

int client::clientnum = 0;

char client::servername = 'a';

int main()

最後配合

資料共享與保護

作用域 是識別符號的有效範圍 可見性 識別符號是否可以引用的問題 程式執行到某一點。能夠引用到的識別符號,就是該處可見的識別符號。函式原型的作用域 函式原型中的引數,其作用域始於 結束於 例如,設有下列原型宣告 double area double radius radius 的作用域僅在於此,不能...

資料的共享與保護

1.生存期 1 靜態生存期 定義 若物件的生存期與程式的執行期相同,則稱它具有靜態生存期 方式 使用關鍵字static 在命名空間作用域宣告的物件都具有靜態生存期 2 動態生存期 區域性生存期物件誕生於宣告點,結束於宣告所在的塊執行完畢之時。例 變數的生存期與可見性 include using na...

C C 資料的共享與保護

當程式中遇到常量時 如果程式複雜,用到的常量比較多的化,不能很簡單的看出某個常量時用來做什麼的。在實際中應該盡量避免產生這種magic number,可以使用c語言提供的預定義功能 define pi 3.14 auto f double radius 預定義有自己的侷限 比如不能進行型別檢查 更好...