C C 類的作用域

2021-07-06 03:01:33 字數 1361 閱讀 6341

c++語言中允許宣告全域性變數,並且類成員的實現是在類的外部,因此經常會遇到作用域的問題。這裡簡單列出來平時遇到的一些問題。

一、類成員函式定義中的引數

乙個簡單的例子:

1

2

3

4

5

6

7

8

9

10

11

12

13

classt

;

voidt::setvalue(num num)

其中,num是在類t中定義的型別,setvalue是類t的成員函式的定義(在類外部),因此setvalue一定是在類的作用域範圍內的,當然形參表也在類的作用域內。因此上面的用法是合法的。

二、成員函式的返回值1

2

3

4

5

6

7

8

9

10

11

12

13

classt

;

num t::getvalue()

與形參型別相比,返回值的型別位於成員函式體的前邊,因此c++不認為num是在類的作用域內,如果對上面的**進行編譯,編譯器會報錯。正確的寫法是:

1

2

3

4

5

6

7

8

9

10

11

12

13

classt

;

t::num t::getvalue()

from: 

C C 中作用域

當變數在程式中的某個部分被宣告時,它只有在程式的一定區域才能被訪問。這個區域由識別符號的作用域 scope 決定。識別符號的作用域就是程式中該識別符號可以被使用的區域。例如,函式的區域性變數的作用域侷限於該函式的函式體。編譯器可以確認4種不同型別的作用域 檔案作用域 函式作用域 塊作用域和原型作用域...

類的作用域

更多c 類的基本概念 每個類都會定義它自己的作用域。在類的作用域外,普通的資料和函式成員只能由物件 引用或者指標使用成員訪問運算子來訪問。對於類型別成員則使用作用域運算子訪問。不論哪種情況,跟在運算子之後的名字都必須是對應類的成員。作用域和定義在類外部的成員 乙個類就是乙個作用域很好地解釋為什麼當我...

C C 中作用域詳解

c c 中作用域詳解 作用域規則告訴我們乙個變數的有效範圍,它在哪兒建立,在哪兒銷毀 也就是說超出了作用域 變數的有效作用域從它的定義點開始,到和定義變數之前最鄰近的開括號配對的第乙個閉括號。也就是說,作用域由變數所在的最近一對括號確定。1 全域性變數 全域性變數是在所有函式體的外部定義的,程式的所...