C++中班级的"member"到底是什么?

What exactly is a "member" of a class in C++?

本文关键字:是什么 member C++      更新时间:2023-10-16

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

我一直在读C++初级读本,直到偶然发现C++中的"成员"。我可以理解Java中类的概念,但我不确定什么是"成员"

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

有人能给出C++中"成员"的一般定义吗?

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

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

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

a是一个全局变量
CCD_ 2是一个全局函数
m_A是类A的成员变量或"属性"
m_F是类A的成员函数或"方法"

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

类中定义的变量有时被称为成员变量。类似地,函数可以称为成员函数。除此之外,没有太多内容。

根据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

我想谷歌搜索会起作用,因为我只搜索了5秒钟:

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

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

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

在我记忆中,java成员是完全相同的。