2015-06-24 31 views
-6

我是C++的新手,並且具有Java和Python的經驗。我試圖在Stack上搜索這個問題一段時間,但沒有發現類似於這個問題的任何問題(儘管也許這是因爲我對C++粗略的知識)。C++中的類的「成員」究竟是什麼?

我正在閱讀C++ Primer書籍,直到我偶然發現C++中的「成員」。我可以從Java中理解一個類的概念,但我不確定「成員」是什麼。

成員只是一個類的實例嗎?如果是這樣,一個類中的變量似乎也被認爲是成員(在入門書中,書的類的ISBN編號被認爲是成員)?

任何人都可以在C++中給出一個「成員」的一般定義嗎?

+6

議員只是與類相關的變量或方法。我相信這個詞的Java等價物是......好的...... **成員** ...... –

+0

cppreference網站上寫了一個類的成員可以是什麼; http://en.cppreference.com/w/cpp/language/class。 – Niall

+0

Python將它們稱爲「屬性」。 Java使用「成員」,但Java的「字段」在C++中稱爲「成員變量」,其「方法」稱爲「成員函數」。 – molbdnilo

回答

3

成員是屬於某個類的某個實體。

如果一個類有一個函數,這是一個成員函數 - 你可能知道它是「一個方法」。
如果一個類有一個變量,這是一個成員變量 - 你可能知道它是「一個屬性」。

int a; 
void f() {}; 

class A{ 
int m_A; 
    void m_F(){} 
} 

a是一個全局變量。
f是一個全局函數。
m_A是類別A的成員變量或「屬性」。
m_F是類別A的成員函數或「方法」。

1

成員被定義爲類中的變量和函數。

在類中定義的變量有時稱爲成員變量。同樣的函數可以被稱爲成員函數。除此之外,它沒有太多。

+0

我在添加更多信息。但這就是答案的足夠。 – therainmaker

+0

如果足夠了,則不需要添加更多信息;-) –

+0

@TimCastelijns,我猜,有人刪除了他們的評論。而且,即使它足夠我以前的編輯,我在SO上的經驗已經導致相信更多接受更多解釋的問題。儘管在這種情況下,一條線足以說明問題。 – therainmaker

0

我想,因爲我剛剛搜索了5秒的谷歌搜索會工作:

類是數據結構的擴展概念:數據結構等等,它們可以包含數據成員,但他們也可以包含作爲成員的功能。

您可以點擊這裏更完整的定義:http://www.cplusplus.com/doc/tutorial/classes/

簡而言之兩個數據成員(類的變量即)和函數是一個類的成員。

據我記得,java成員完全一樣。

1

根據C++標準(9.2類成員)

1在類定義的成員規範聲明的類的成員的全套 ;沒有成員可以添加到其他地方。 類的成員是數據成員,成員函數(9.3),嵌套類型和 枚舉器。數據成員和成員函數是靜態的或不可變的;見9.4。嵌套類型是類(9.1,9.7)和 枚舉(7。2)在類中定義,並且任意類型通過使用typedef聲明(7.1.3)聲明爲 成員。 的枚舉員在該類中定義的非範型枚舉(7.2)是 類的成員。除用於聲明朋友(11.3)或將基類成員名稱引入派生類(7.3.3), 成員聲明聲明類的成員,並且每個這樣的成員聲明聲明至少一個 類的成員名稱。成員不得在 成員規範中聲明兩次,但可以聲明並稍後定義嵌套類或成員類 模板,並且可以使用不透明枚舉聲明和 枚舉來引入枚舉後來被重新聲明爲枚舉說明符。

而且類成員

using-declaration 
static_assert-declaration 
template-declaration 
alias-declaration