究竟是什么"成员"在C ++中的类?

时间:2015-06-24 09:13:51

标签: c++ class member

我是C ++的新手,拥有Java和Python方面的经验。我试图在Stack上搜索这个问题一段时间,但没有发现任何类似的问题(尽管这可能是因为我对C ++的粗略了解)。

我正在阅读C ++ Primer一书,直到我偶然发现"成员" C ++中的类。我可以从Java中理解一个类的概念,但我不确定"成员"是

成员只是一个类的实例吗?如果是这样,为什么类中的变量似乎也被认为是成员(在Primer中,一本书的类的ISBN号被认为是成员)?

任何人都可以给出"会员的一般定义"在C ++中?

4 个答案:

答案 0 :(得分:3)

成员是属于某个类的某个实体。

如果一个类有一个函数,这是一个成员函数 - 你可能知道它是"一个方法"。
如果一个类有一个变量,那么这是一个成员变量 - 你可能知道它是"一个属性"。

int a;
void f () {};

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

a是一个全局变量 f是一项全球性职能 m_A是成员变量或"属性"班级A m_F是成员函数或"方法"班级A

答案 1 :(得分:1)

成员被定义为类中的变量和函数。

类中定义的变量有时称为成员变量。类似地,函数可以称为成员函数。除此之外,它没有多大意义。

答案 2 :(得分: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)中基类成员的名称,   member-declarations声明类的成员,以及每个成员   会员声明应至少声明一个会员名称   类。会员不得两次申报   member-specification,但嵌套类或成员类除外   模板可以声明然后定义,除了一个   可以使用opaque-enum-declaration和。引入枚举   后来用enum-specifier重新声明。

班级成员也是

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

答案 3 :(得分:0)

我想谷歌搜索会有效,因为我只搜索了5秒钟:

  

类是数据结构的扩展概念:与数据结构一样,它们可以包含数据成员,但它们也可以包含作为成员的函数。

您可以在此处查看更完整的定义:http://www.cplusplus.com/doc/tutorial/classes/

简而言之,数据成员(即类的变量)和函数都是类的成员。

据我记忆,java成员完全一样。