c 類作用域

2021-10-24 20:32:17 字數 1171 閱讀 7114

1.在類中定義的名稱,其作用域是整個類,改名稱只在此類中是已知的,類外是不可知的。 【(.)----直接成員運算子 (->)------間接成員運算子 (::)----作用域解析運算子】

2.定義乙個作用域為類的常量

1>直接定義《錯誤,不可行》

class

base

;//因為類的宣告只是描述了物件,並沒有建立物件。因此,在建立物件前,將沒有用於儲存值得空間

倆種可行方法

2-1>在類中宣告乙個列舉,在類中宣告的列舉作用域是整個類,因此可以用列舉為整型常量提供作用域為整個類的符號名稱。

#include

using

namespace std;

class

base

;int member[value]

;public

:base()

;void

show()

;};base::

base()

void base::

show()

intmain()

執行結果:

2-2>使用關鍵字static,static定義的常量將與其他靜態變數儲存在一起,而不是儲存在物件中

#include

using

namespace std;

class

base

;base::

base()

void base::

show()

intmain()

執行結果:

3.作用域內列舉

1.錯誤示例,假設列舉dog和cat都定義了相同的列舉變數就會引起衝突

enum dog

;enum cat

;//因為dog和cat在相同的作用域,所以發生衝突

2.解決方法提供一種新列舉,其作用域為類

enum

class

dog;

enum cat

;//列舉的作用域變為類後,不同列舉中定義的列舉量就不會發生衝突

4 C 類作用域

類作用域 前言,基類,派生類,虛函式的作用域,設計指導 1.前言 類的作用域是指類成員的有效範圍和成員函式名查詢順序 兩個不同的類的作用域是不同的 如class a class b a obj1 b obj2 obj1 obj2 錯誤,因為兩個不同的類的作用域是不同的 2.基類 2.1訪問類的成員只...

C 中的類作用域

在類中定義的名稱 如類資料成員名和類成員函式名 的作用域都為整個類,作用域為整個類的名稱只在該類中是已知的,在類外是不可知的。因此,可以在不同類中使用相同的類成員名而不會引起衝突。作用域為類的常量 class bakery 通過上述描述建立乙個由所有物件共享的常量的方式有誤!因為類宣告只是描述了物件...

類的作用域

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