您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>C/C++語言編程>

C++中聲明與定義的區(qū)別解析

大?。?/span>未知 人氣: 2017-11-21 需要積分:0

  首先談下聲明與定義的區(qū)別。

  聲明是將一個名稱引入程序。定義提供了一個實體在程序中的唯一描述。聲明和定義有時是同時存在的。

  3如int a;

  extern int b=1;

  只有當(dāng)extern中不存在初始化式是才是聲明。其他情況既是定義也是聲明。

  但是在下列情況下,聲明僅僅是聲明:

  1:僅僅提供函數(shù)原型。如void func(int,int);

  2: extern int a;

  3:class A;

  4:typedef聲明

  5:在類中定義的靜態(tài)數(shù)據(jù)成員的聲明

  3:在類定義之外,定義并初始化一個靜態(tài)數(shù)據(jù)成員。如 A::a=0;

  2:在類外定義非內(nèi)聯(lián)成員函數(shù)。

  聲明僅僅是將一個符號引入到一個作用域。而定義提供了一個實體在程序中的唯一描述。在一個給定的定義域中重復(fù)聲明一個符號是可以的,但是卻不能重復(fù)定義,否則將會引起編譯錯誤。但是在類中的成員函數(shù)和靜態(tài)數(shù)據(jù)成員卻是例外,雖然在類內(nèi)它們都是聲明,但是也不能有多個。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?