我是C ++的新手,拥有Java和Python方面的经验。我试图在Stack上搜索这个问题一段时间,但没有发现任何类似的问题(尽管这可能是因为我对C ++的粗略了解)。
我正在阅读C ++ Primer一书,直到我偶然发现"成员" C ++中的类。我可以从Java中理解一个类的概念,但我不确定"成员"是
成员只是一个类的实例吗?如果是这样,为什么类中的变量似乎也被认为是成员(在Primer中,一本书的类的ISBN号被认为是成员)?
任何人都可以给出"会员的一般定义"在C ++中?
答案 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成员完全一样。