C 命名空間中類宣告 成員函式宣告和函式模板

2021-09-26 13:42:02 字數 1910 閱讀 6442

namespace proj_alpha

;void encrypt (

char

*msg)

;const

int max_spies =8;

}

在使用c++類的時候,常常會用到命名空間,在使用的時候一般需要前置宣告。例如:

//spacea header file

#pragma once

namespace testa ;}

//spacea cpp file

#include

"spacea.h"

using namespace testa;

//必須有前置宣告

spacea:

:spacea()

spacea::~

spacea()

void spacea:

:print()

如果命名空間定義的類成員中包含其他命名空間的類,使用的時候,必須加上命名空間。例如:

//spaceb header file

#pragma once

//在使用之前宣告一下

namespace testa

namespace testb ;}

//spaceb cpp file

#include

"spaceb.h"

#include

"spacea.h"

using namespace testb;

using namespace testa;

spaceb:

:spaceb()

spaceb::~

spaceb()

void spaceb:

:printb()

主函式中定義方式:

#include

"spaceb.h"

using namespace testb;

intmain

(int argc,

char

*ar**)

命名空間中定義函式模板,例項如下:

//compare header file

namespace compare

template t min

(const t* data,

int size)

}

主函式呼叫方式:

#include

#include

"compare.h"

using compare:

:max;

using compare:

:min;

//可以用下面指令的代替上面的宣告

// using namespace compare;

using std:

:cout;

using std:

:endl;

intmain()

;const

int datasize=

sizeof data/

sizeof data[0]

; cout <<

"min double is "

<<

min(data ,datasize)

"max double is "

<<

max(data,datasize)

}

本文參考了如下幾篇文章:

c++在命名空間中宣告類和成員函式

c++在命名空間中使用函式模板

帶有命名空間的c++類的前置宣告

C 在命名空間中宣告類和成員函式

雖然很多程式設計師都熟悉名字空間的概念,但他們常常都是被動地使用名字空間。也就是說他們使用的是第三方定義的成員 如標準庫的類和函式 而不是在名字空間中宣告自己的類和函式。本文擬討論如何在名字空間中宣告自己的類和函式,以及如何在程式中使用它們。名字空間是乙個範疇,它包含類宣告,函式宣告,常量宣告和模板...

命名空間using 宣告

1.作用域操作符 std cin,含義 有運算元的名字可在左運算元的作用域中找到。通過 作用域操作符可實現對全域性範圍的變數進行訪問。例如 cout a 輸出全域性作用域的變數a的值。2.using 宣告 using namespace std using std cin 3.使用標準型別的類定義 ...

命名空間的using宣告

作用域操作符 編譯器應從操作符左側名字所示的作用域中尋找右側那個名字。using宣告形式 1 using namespace name 一旦進行了宣告,就可以直接訪問命名空間中的名字 2 using namespace namespace 標頭檔案不應包含using宣告 因為標頭檔案的內容會拷貝到所...